WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » verstehe ich nicht! » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von languitar
Hi,
hab mir mal nen eigenen Counter gebastelt und aufm lokalen server lief der auch ohne mucken und kaum hatte ich den auf "Tripod" hjochgeladen gings manchmal mit der IP-Sperre nicht und manchmal hat der auch wieder bei 0 angefangen zu zählen.
Hier der Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53:
<?php
//Counter mit IP-Sperre für einen Tag

//In ip.txt der werden die geloggten IPs für das aktuelle Datum geloggt
//In stand.txt wird die Anzahl der "wirklickhen" Beusucher festgehalten


/*--Beziehen der IP des Besuchers--*/
$ip = getenv("REMOTE_ADDR");

/*--Beziehen des aktuellen Datums--*/
$date = date("d.m.Y");

/*--Beziehen des aktuellen Counterstandes aus Datei--*/
file_get_contents("counter/stand.txt");       //hab ich später für PHP 4.1 abgeändert, hab den Code aber nicht mehr

/*--ip.txt zum Vergleich in Array &log lesen--*/
$log = unserialize(implode('', file('ip.txt')));

/*--Vergleich des Datums aus der Datei mit aktuellem--*/
if ($log[0] == $date) {
/*--Wenn Datum gleich, dann suchen ob IP vorhanden--*/
       $vorhanden = 0;
       foreach ($log as $value) if ($value == $ip) $vorhanden = 1;
       /*--Wenn die IP nicht vorhanden ist, wird der Counter um 1 erhöht und die IP geschpeichert--*/
       if ($vorhanden == 0) {
         $log[] = $ip;
         ++$counter;
         $datei = fopen("stand.txt","w");   //Counterstand speichern
         fputs($datei,$counter);
         fclose($datei);
         $datei = fopen("ip.txt","w");      //&log wird gespeichert
         fputs($datei,serialize($log));
         fclose($datei);
       };
      }
/*--Wenn Datum nicht gleich, dann Array löschen, Schlüssel 'O' neues Datum zuweisen, Counter erhöhen und IP speichern--*/
else {
       $log = array();
       $log[0] = $date;
       $log[] = $ip;
       ++$counter;
       $datei = fopen("stand.txt","w");   //Counterstand speichern
       fputs($datei,$counter);
       fclose($datei);
       $datei = fopen("ip.txt","w");      //neues &log speichern
       fputs($datei,serialize($log));
       fclose($datei);
  };
echo $counter;
?>


Is da irgendwo ein logikfehler drin oder könnte das an Tripod gelegen haben? da hab ich z.B. auch immer das Problem das dateien per FTP ständig mit Größe 0 ankommen.

Gruß
Johannes

Nach oben