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

How to effectively perform complex queries with SQL queries in MySQLi?

This MySQL tutorial explains how to efficiently perform complex SQL queries in MySQLi. We will look at various aspects of database querying and learn specific methods to fully utilise the power of MySQLi. ...

TheMax

Autor : TheMax
Category: mySQL-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
Category: 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@
Category: PHP-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

plotting masters - a professional guide - Teil I

Grafische Interpolation und Bestapproximation von numerischen Wertepaaren: Wir wollen Punkte auf einer Zeichenebene über verschiedene Verfahren miteinander verbinden. ...

EVAMasters

Autor : EVAMasters
Category: PHP-Tutorials

Responsive Webdesign

Einstieg in Responsive Webdesign und Grids ...

admin

Autor : admin
Category: Other tutorials

Anzeige des letzten Besuchers auf der Website

PHP und MySQL ermöglichen es, mit wenig Aufwand Datum und Uhrzeit des letzten Besuchers auf der Homepage anzeigen zu lassen. ...

Lukas Beck

Autor : Lukas Beck
Category: PHP-Tutorials

Fortschrittsbalkens mit PHP

ProgressClass stellt eine PHP-Klasse für die dynamische Anzeige und Veränderung eines Fortschrittsbalkens zur Verfügung. ...

what@

Autor : what@
Category: PHP-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