php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.11.2005, 14:50  
Erfahrener Benutzer
 
Registriert seit: 19.11.2004
Beiträge: 196
Calli
Standard Warum funktioniert meine Statistik nicht richtig?

Hallo, ich habe mir aus dem Netz eine Statistik runtergeladen und das ganze so verändert wie ich es brauch. Aber irgendwie spinnt das teil. Ich möchte mir die Zugriffszahlen von verschiedenen Seiten anzeigen lasse, jeweils insgesamt, heute und gestern.

Gespeichert werden die Ergebnisse in CSV Dateien. Ich bneutze zum Zählen der Zugriff diese Skript

PHP-Code:
<?
$filename
="../counter/home.csv";
$count=0;
$time time();
$ip getenv(REMOTE_ADDR);
$text=$time."#".$ip."\n";

$zeile file($filename);
$datum=date("d.m.y");
$setdate=0;
$uhrzeit=date("H:i:s");

//Hier kann die Aufenthaltszeit für eine gültige Zählung und die Reloadsperre eingetragen werden (in sec)
$countgueltig=3000;
$reload=3000;

//Prüfung ob IP vorhanden
foreach($zeile as $sperre)
{
$arraysp explode("#",$sperre);

if(
$ip==rtrim($arraysp[1]) & $arraysp[0] > $time -$reload){$vorhanden=1;}
}

//Tages- und Gesamtwert ermitteln
foreach($zeile as $wert)
{
$array explode("#",$wert);
if(
$array[0]=='datum'rtrim($array[1])!=$datum){$setdate=1;}
if(
$vorhanden==1){
if(
$array[0]=='heute' $setdate==0){$heute=rtrim($array[1]);}
if(
$array[0]=='heute' $setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}

}
if(
$vorhanden!=1)
{

if(
$array[0]=='heute'$setdate==0){$heute=rtrim($array[1])+1;}
if(
$array[0]=='heute'$setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1])+1;}
}
}

//Tages- und Gesamtwert schreiben
$fpwrite fopen($filename "w");
fwrite ($fpwrite"datum"."#".$datum."\n"."heute"."#".$heute."\n"."gestern"."#".$gestern."\n"."gesamt"."#".$gesamt."\n".$text750);
fclose($fpwrite);
?>
Diesen Skript benutze ich für mehrere Dateien, ich ändere nur jeweils die Zeildatei.

Zum Auslesen der VSC Dateien habe ich diesen Skript:

PHP-Code:
<?
$filename
="../../counter/home.csv";
$count=0;
$time time();
$text=$time."#".$ip."\n";

$zeile file($filename);
$datum=date("d.m.y");
$setdate=0;
$uhrzeit=date("H:i:s");

//Tages- und Gesamtwert ermitteln
foreach($zeile as $wert)
{
$array explode("#",$wert);
if(
$array[0]=='datum'rtrim($array[1])!=$datum){$setdate=1;}
if(
$vorhanden==1){
if(
$array[0]=='heute' $setdate==0){$heute=rtrim($array[1]);}
if(
$array[0]=='heute' $setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}

}
if(
$vorhanden!=1)
{

if(
$array[0]=='heute'$setdate==0){$heute=rtrim($array[1])+1;}
if(
$array[0]=='heute'$setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if(
$array[0]=='gestern'$setdate==0){$gestern=rtrim($array[1]);}
if(
$array[0]=='gesamt'){$gesamt=rtrim($array[1])+1;}
}
}

//wieviele user online(für Anzeige)?
$zeile1 file($filename);


//Ausgabe


for($x=0;$x<count($zeile1);$x++){$count=$count+1;}
print(
'<td width="90"  height="20" class="arial12">'.$gesamt.'</td>
       <td width="90"  height="20" class="arial12">'
.$heute.'</td>
       <td width="202" height="20" class="arial12">'
.$gestern.'</td>');
?>
Auch diesen Skript benutze ich mehrere mal zu ausgeben der einzelnen Dateien. Aber... sobald jmd auf der Homeseite geht wird der Zugriff korrekt in die CSV geschrieben, allerdings erhöhen sich alle Zähle. Also nicht nur der für die home.csv.

Zwar wird nur in die home.csv geschriben, aber alle Zähler zeigen mir einen Zugriff an. Ich hab keine Ahnung mehr wo ich gucken soll.

Ich vermute das es irgendwie was mit der gespeicherten IP zu tun hat.
Calli ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.11.2005, 08:49  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

nimm mal trim() statt rtrim()
__________________
Alpha Centauri ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Left Join funktioniert nicht richtig, nicht alle Werte.... Gdriver PHP Tipps 2007 9 20.08.2007 15:56
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
Unlink funktioniert nicht (Pfad falsch obwohl richtig) PsychoEagle PHP Tipps 2006 6 18.11.2006 16:17
Lokal funktioniert alles -> auf Server fast nichts PsychoEagle Datenbanken 2 14.08.2006 08:43
Bildskalierung funktioniert nicht richtig, denkfehler? Peoples PHP Tipps 2006 2 07.08.2006 01:51
resize funktioniert nicht richtig?! $$$ ThiKool $$$ HTML, Usability und Barrierefreiheit 2 22.06.2006 10:47
Zeichenzähler funktioniert nicht richtig... HTML, Usability und Barrierefreiheit 8 22.05.2006 17:44
DB Abfrage nach email funktioniert nicht tinchen Datenbanken 3 15.05.2006 13:20
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Script funktioniert nicht richtig -> fehlermeldungen PHP Tipps 2005-2 2 12.09.2005 11:29
Kontakrformular funktioniert nur zum Teil PHP Tipps 2005-2 12 18.07.2005 11:24
Login funktioniert mit MD5 nicht PHP Tipps 2004-2 8 13.12.2004 19:32
Dateien erstellen oder schreiben funktioniert nicht im Web PHP Tipps 2004-2 1 05.12.2004 19:39
[Erledigt] history.back() funktioniert nicht richtig HTML, Usability und Barrierefreiheit 4 17.11.2004 09:22
Emailversendung funktioniert nicht richtig PHP Tipps 2004 1 11.08.2004 23:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
if($vorhanden==1), reloadsperre 3000 sec, aufenthaltszeit für eine gültige zählung, $array = explode(\#\,$sperre);, if($array[0]==\'heute\' & $setdate==1){$heute=1;$gestern=rtrim($array[1]);}, $time -$reload){$vorhanden=1;} } //tages- und gesamtwert ermitteln foreach($zeile as $wert) { $array = explode(\#\,$wert); if($array[0]==\'datum\'& rtrim($array[1])!=$datum

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.