Reloadsperre für counter
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
ausgabe
beitrag
besucher
count
counter
crew
datei
einfachheit
eins
epoche
ergebnis
fehler
herzlichen dank
klammern
page
rewind
sekunde
versuchen
vorschlag
-
Hi Ho!
Ich habe da meinen script:
<?php $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); if($counterstand == "") { $counterstand = 0; } $counterstand++; echo $counterstand; rewind($datei); fwrite($datei, $counterstand); fclose($datei); ?>
Nun kann ich noch nicht all zu viel und wollte fragen wie das geht mit einer 24H Reloadsperre! Vllt am Besten beispiele^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
So sollte es gehen:
<?php setcookie(count,"yes", time()+60*60*24); $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); if (empty($_COOKIE["count"])) { if($counterstand == "") { $counterstand = 0; } $counterstand++; echo $counterstand; rewind($datei); fwrite($datei, $counterstand); fclose($datei); } ?>
Ich w?rde dir aber empfehlen die Gr??e der Datei mit filesize() zu pr?fen damit du keine Zahlen abschneidest.
Das w?re so:
<? setcookie(count,"yes", time()+60*60*24); $filesize =filesize("counter.txt"); $datei = fopen("counter.txt", "r+"); $counterstand = fgets($datei, $filesize); bla bla bla ?>
Es gibt sicher bessere L?sungen aber die hab ich schnell mal gefunden.
Beitrag ge?ndert am 22.07.2005 12:27 von patrick-schiffmann -
So sollte es gehen:
<?php
setcookie(count,"yes", time()+60*60*24);
$datei = fopen("counter.txt","r+");
$counterstand = fgets($datei, 10);
if (empty($_COOKIE["count"])) {
if($counterstand == "")
{
$counterstand = 0;
}
$counterstand++;
echo $counterstand;
rewind($datei);
fwrite($datei, $counterstand);
fclose($datei);
}
?>
Ich w?rde dir aber empfehlen die Gr??e der Datei mit filesize() zu pr?fen damit du keine Zahlen abschneidest.
Das w?re so:
<?
setcookie(count,"yes", time()+60*60*24);
$filesize =filesize("counter.txt");
$datei = fopen("counter.txt", "r+");
$counterstand = fgets($datei, $filesize);
bla bla bla
?>
Es gibt sicher bessere L?sungen aber die hab ich schnell mal gefunden.
Herzlichen dank!
Aber eins noch was bedeutet das genau?
+60*60*24)
Wie stell ich dann die zeit um?
Ueps^^ Kommt doch bestimmt in die time() klammer rein? also wird doch in secunden eingestellt?
Beitrag ge?ndert am 22.07.2005 12:27 von sneppa -
Also ich hab nommal dran rumgeschraubt.. und es geht n?chmehr^^
<?php setcookie (count, "yes", time()+(3600*24)); $datei = fopen("counter.txt","r+"); $counterstand = fgets($datei, 10); if (empty($_COOKIE["count"])) { if($counterstand == "") { $counterstand = 0; } $counterstand++; echo $counterstand; rewind($datei); fwrite($datei, $counterstand); fclose($datei); ?>
Wo is mein fehler?
Hm.. und bei deinem Vorschlag wird ?berhaupt (rein garnichts) angezeigt! -
Das funktioniert und das habe ich grad auf meiner Platte gefunden.
<?php //cookie wird gesetzt// setcookie(count,"yes", time()+60*60*24); //wegen einfachheit machen wir $keks aus dem Cookie// $keks=$_COOKIE["count"]; //Datei ?ffnen// $fp=fopen("count.txt","r+"); //Datei auslesen// $count=fgets($fp,10); //Ergebnis Ausgeben// echo "Diese Seite wurde".$count."-mal Aufgerufen"; if ($count=="") { $count="0"; } //Wenn Cookie nict Yes dann counter erh?hen// if ($keks!="yes") { $count++; } //An den Anfang der Datei// rewind($fp); //Ergebnis reinschreiben// fputs($fp,$count); //Datei schlie?en// fclose($fp); ?>
vor $counterstand++;
mu? noch } rein
und empty w?rd ich durch
($_COOKIE["count"]!="yes") ersetzen.
Sonst hab ich nichts gefunden -
ich habe n ?hnliches prob.
also ich hab die datei counter.php die sieht so aus:
<?php setcookie(count,"yes", time()+60*60*24); if (empty($_COOKIE["count"])) { if(file_exists("counter.txt")) $fp=fopen("counter.txt","r+"); $count=fgets($fp,6); $count++; rewind($fp); fputs($fp,$count,6); fclose($fp); }else{ $fp=fopen("counter.txt","w"); $count="1"; fputs($fp,$count,6); fclose($fp); } $count=sprintf("%05d",$count); for($i=0;$i<5;$i++){ if(isset($img_counter)==0) $img_counter=""; $img_counter=$img_counter . "<img src=counter/" . substr($count,$i,1) . ".gif align=absmiddle width=10 height=14>"; } ?>
Du bist der <?php echo $img_counter ?> Besucher meiner Page =)
Das ist ja noch ganz in ordnung. wenn ich dann den cookie wieder l?sche und aktualisieren dr?cke dann z?hlt es wieder um eins hoch. das ist au ganz normal. aber wenn ich dann nomma uf aktualisieren dr?cke f?ngts wieder bei 1 an =(
Beitrag ge?ndert am 22.07.2005 13:57 von zonk -
@zonK
Mach ma aus:
$fp=fopen("counter.txt","w");
das:
$fp=fopen("counter.txt","r+");
@patrick-schiffmann
Ehm also bei dem neuen Script bleibt der counter wert auf 0 (siehe:)
http://sneppa.xardas.lima-city.de/film-crew/counter.php
Der script sieht davon so aus:
<?php setcookie(count,"yes", time()+60*60*24); $keks=$_COOKIE["count"]; $fp=fopen("count.txt","r+"); $count=fgets($fp,10); echo "Diese Seite wurde".$count."-mal Aufgerufen"; if ($count=="") { $count="0"; } if ($keks!="yes") { $count++; } rewind($fp); fputs($fp,$count); fclose($fp); ?>
Wassen da jetzt wieda falsch?!?!? -
sneppa schrieb:
@zonK
Mach ma aus:
$fp=fopen('counter.txt','w');
das:
$fp=fopen('counter.txt','r+');
N? so geht au net =( -
Versuch mal obs ohne die IMG ausgabe geht^^
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage