Text-Counter mit IP-Sperre ( Cookies oder Datei)

In diesem Tutorial möchte ich erklären wir man auf 2 arten einen Counter Programmieren kann,nebenbei werden ein paar Datei Funktionen erklärt!

Einführung

In diesem Tutorial möchte ich erklären wir man auf 2 arten einen Counter Programmieren kann, nebenbei werden ein paar Datei Funktionen erklärt!

Bevor sie eines der Beiden Counter-Versionen ausprobieren, erstellen sie bitte eine datei mit dem Namen counter.dat mit dem Wert 0 und den CHMODS 666.

Cookies

Cookies( auch Kekse genannt) werden im Browser für eine bestimmte Zeit aufbewahrt und speicher'n Daten! ( Cookies werden automatisch ins PHP-Dokument eingelesen)

Datei Funktionen

Man kann mit PHP auch Dateien erstellen, dabei werden die Dateien in einen bestimmten 'Modus' geöffnet!

Modus Funktion  Dateizeiger Anlegen?
 r Lesen Anfang Nein
r+ Lesen und Schreiben  Anfang  Nein
w Lesen Anfang Ja
w+ Lesen und Schreiben Anfang Ja
a Schrieben Ende Ja
a+ Lesen und Schreiben Ende Ja

mit der Funktion rewind($datei); stellt man den Datenzeiger an den Anfang zurück.

Counter mit Cookies

<?php
 
//Liest die Ip aus!//
$ip getenv ("REMOTE_ADDR");
//Erstellt das Cookie mit den Inhalt der Variable $Ip
Und das Cookie wird nach 24st. ( +86400 wieder gelöscht!//
setcookie ("ipsperre",$iptime()+86400); 
 
//Überprüft ob das Cookie "ipsperre" schon vorhanden ist//
if(isset($ipsperre))
{
    
//Liest in den Array "lesaus" die datei counter.dat ein//
    
$lesaus file("counter.dat");
    
//Gibt den Array "lesaus" aus//
    
echo"$lesaus[0]"
}
    
// Ab hier beginnt die Verneinung von if(isset($ipsperre)) - sprich 'das cookie existiert nich'//
else
{
    
//Liest die datei counter.dat wieder in einen Array aus// 
    
$lesaus file("counter.dat"); 
    
//Der Ausgelsende Wert wird um 1 erhöt// 
    
$lesaus[0]++; 
    
//Die Datei counter.dat wird im Modus r+ (Lesen und Schreiben/Datenzeiger Am Anfang) geöffnet//
    
$datei fopen("counter.dat","r+");
    
//Der Variable $datenm wir der Ausgelsende ( und um 1erhöte) Wert zugeteilt//
    
$datenm="$lesaus[0]"
    
//Der Datenzeiger wird wieder an den Anfang zurückgesetzt//
    
rewind($datei);
    
//Der Wert der variable $datenm wird in die Datei geschrieben//
    
fwrite($datei,$datenm);
    
//Die Datei wird geschlossen//
    
fclose($datei);
    
//Der Wert der vorhin um1 erhört wurden ist,wird ausgegeben//
    
echo"Besucher:$lesaus[0]"
}
?>
 

Counter mit Dateien

<?php
 
//Liest die Ip aus!//
$ip getenv ("REMOTE_ADDR");
//Überprüfen ob Ip.dat schon erstellt ist//
if(file_exists("$ip.ip"))
{
    
//Liest in den Array "lesaus" die datei counter.dat ein//
    
$lesaus file("counter.dat");
    
//Gibt den Array "lesaus" aus//
    
echo"$lesaus[0]"
}
    
//Ab hier beginnt die Verneinung - sprich 'die datei $ip.ip existiert nicht'//
else
{
    
//Liest die datei counter.dat wieder in einen Array aus// 
    
$lesaus file("counter.dat");
    
//Der Ausgelsende Wert wird um 1 erhöt// 
    
$lesaus[0]++; 
    
//Die Datei counter.dat wird im Modus r+ (Lesen und Schreiben/Datenzeiger Am Anfang) geöffnet//
    
$datei fopen("counter.dat","r+");
    
//Der Variable $datenm wir der Ausgelsende ( und um 1erhöte) Wert zugeteilt//
    
$datenm="$lesaus[0]"
    
//Der Datenzeiger wird wieder an den Anfang zurückgesetzt//
    
rewind($datei);
    
//Der Wert der variable $datenm wird in die Datei geschrieben//
    
fwrite($datei,$datenm);
    
//Die Datei wird geschlossen//
    
fclose($datei);
    
//Der Wert der vorhin um1 erhört wurden ist,wird ausgegeben//
    
echo"$lesaus[0]";
    
//Die Datei $ip.ip wird im Modus 'w+' erstellt ( ist nötig für die IP-Sperre)//
    
$file fopen("$ip.ip","w+"); 
    
//Der Variable $datenm wird der wert $ip zugewiesen//
    
$datenm="$ip"
    
//In die Datei wird die Variable $ip geschrieben//
    
fwrite($file,$datenm);
    
//Die Datei wird geschlossen//
    
fclose($file);
}
?>  

Nachtrag

Natürlich kann man die IP's auch in einer Datei Speicher'n
oder hier draus einen Counter-Service erstellen!

Ratings

There are no comments available yet.

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

Joomla! Starterhilfe

Dieses Tutorial begleitet Sie bei dem Einstieg in die Welt von dem CMS Joomla!. ...

werninator

Autor : werninator
Category: mySQL-Tutorials

Tutorials zu Facebook Anwendungen mit PHP

In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit. ...

abouttheweb

Autor : abouttheweb
Category: PHP-Tutorials

Gewichtete SQL-Abfragen

Gewichtete Abfragen werde häufig im Banner-Umfeld benötigt. Also überall da, wo Banner nach bestimmten Kriterien einblendet werden sollen. Wenn man davon ausgeht, das Banner unterschiedlichen Klick-Erfolg haben, dann liegt der Gedanke nahe, genau diese Ba ...

admin

Autor : admin
Category: mySQL-Tutorials

Spielereien mit Zeit und Datum

Das Rechnen mit Datum und Zeit ist nur selten unproblematisch, PHP stellt uns dafür zahlreiche Funktionen zur Verfügung. Wir wollen uns im folgenden ein paar davon ansehen und an Beispielen erproben. ...

Stephane

Autor : Stephane
Category: PHP-Tutorials

Wie erstelle ich ein LogIn-Skript?

Das folgende Tutorial nutzt eine Datenbank, in der die Benutzerdaten gespeichert werden und eine Session, in der der Benutzer registriert wird. ...

andy@

Autor : andy@
Category: PHP-Tutorials

Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen. ...

phpsven

Autor : phpsven
Category: PHP-Tutorials

Variablen über mehrere Seiten hinweg verwenden - der Session-Befehl macht 's möglich!

Oberste Voraussetzung um Session-Befehle korrekt auszuführen ist, dass der Provider a) PHP und b) das speichern von Sessions auf dem Server überhaupt erlaubt. Wird der Session-Befehl unterstützt jedoch nicht das direkte speichern von Sessions bzw. Sess ...

ndo@

Autor : ndo@
Category: PHP-Tutorials

Gewichtete SQL-Abfragen

Gewichtete Abfragen werde häufig im Banner-Umfeld benötigt. Also überall da, wo Banner nach bestimmten Kriterien einblendet werden sollen. Wenn man davon ausgeht, das Banner unterschiedlichen Klick-Erfolg haben, dann liegt der Gedanke nahe, genau diese Ba ...

admin

Autor : admin
Category: mySQL-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial