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!

Erfahrungen

Es sind noch keine Kommentare vorhanden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

Das 'Nested Sets' Modell - Bäume mit SQL

Das 'Nested Sets' Modell - Bäume mit SQL

Dieses Tutorial beschreibt die 'Nested Sets'-Technik, mit der man solche Bäume mit SQL performant konstruieren kann. ...

gorski@

Autor : gorski@
Kategorie: mySQL-Tutorials

Eigene Web Services mit PHP5 bereitstellen? Kein Problem!

PHP5 bietet das nötige Rüstzeug, um bequem und schnell den eigenen Web Service auf die Beine zu stellen. ...

beebob

Autor : beebob
Kategorie: PHP-Tutorials

Eines Warenkorbsystem für Anfänger

Ein kurzes Tutorial für Anfänger um ein einfaches aber funktionelles Warenkorbsystem zu erstellen. Freue mich über Rückmeldungen und Kritik - denn nur so verbessert man sich :) ...

web3hoster

Autor : web3hoster
Kategorie: 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
Kategorie: PHP-Tutorials

Templates in PHP

Ein kleines Tutorial zum Einsatz von Templates in PHP am Beispiel der Apolda Templateklasse (kuerbis.org/template/) ...

stulgies@

Autor : stulgies@
Kategorie: PHP-Tutorials

Counter auf MySQL Basis

Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden. ...

Lukas Beck

Autor : Lukas Beck
Kategorie: PHP-Tutorials

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen