net-board.net Archiv

Normale Version: Textcounter mit IP Sperre (Cookie)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Textcounter mit IP Sperre (Cookie)

Wie ich schon in meinen ersten Klickcounter Tutorial berichtete gibt es noch eine zweite alternative.
Was wir benötigen sind wieder Grundkentnisse PHP, beachtet bitte das dieses Tutorial anderst ist als diese die Ihr im Netz so findet bei den meisten Tutorials zum Thema IP-Sperre muss der *setcookie* Part am anfang einer Datei stehen und macht es so fast unmöglich den Text irgendwo in einer Datei auszugeben, dieses Problem habe ich ganz clever gelößt Wink

Wir erstellen mal eine index.php.

mit folgenden Inhalt.
Code:
<?php include("counter.php"); ?>
<html>
<head>
  <title>Netccode Forum, PHP/Tutorial: Textcounter mit IP Sperre (Cookie)</title>
</head>
<body>
  Hallo du bist Besucher Nr. <?php echo $ausgabe; ?> auf meiner Seite.
</body>
</html>

Jetzt würde er die counter.php am Anfang der Datei einfügen und dank
dieser Ausgabe im HTML Code die Ausgabe des Wertes an einer mir zugeordneten Stelle ausgeben.

Code:
<?php echo $ausgabe; ?>

unsere counter.php schaut dan so aus...

[code=php]<?php
#############################################
# Netccode Forum :: PHP/Tutorial. #
# Textcounter mit IP Sperre (Cookie) #
#############################################

# Diese Datei muss zwingend schreibrechte besitzen. (CHMOD 777)
$countfile = "anzahl.txt";

# Wir ermitteln die IP-Adresse des benutzers.
$ip = $_SERVER[REMOTE_ADDR];

# Die Datei wird geöffnet
$file = fopen("$countfile", "r+");

# Die Datei wird eingelesen
$ausgabe = fgets($file,100);

if(isset($_COOKIE["ipsperre"]))
{
// Cookie ist vorhanden (wir machen nix)
}
else
{
// Cookie ist noch nicht vorhanden.

# Wir setzen einen Cookie (Wert des Cookie, IP-Adresse des Besuchers, Zeit wann gesetzt wurde)
setcookie ("ipsperre",$ip, time()+86400); // Diese wäre eine 24. stündige Sperre.

# Die in der Datei stehende Zahl wird um 1 erhöht.
$ausgabe = $ausgabe+1;

# Cursor wird auf Erste Zeile gesetzt.
rewind($file);

# Datei wird überschrieben, mit zuvor ausgelesen Wert +1.
fputs($file,$ausgabe);

# Datei wird wieder freigegeben.
fclose($file);
}
?>[/code]

Wenn man jetzt die index.php aufruft wird nur einmal gezählt es sei den man löscht seine Cookies im Internetbrowser.

Daher ist diese Variante auch nicht die sicherste aber es gibt ja noch eine die ich in einen andern Tutorial nähr erklären werde ich hoffe hat euch spaß gemacht Feedback wie immer erwünscht Wink