Hallo-Welt
Aktives Mitglied
Guten Abend allerseits,
Ich bin zurzeit am Verzweifeln. Ich habe lange nach einer guten funktion gesucht, bei welcher jeder Benutzer, in meinem Fall, alle 5 Minuten nur ein Kommentar posten kann. Da ich nur sehr sehr Komplizierte Lösungsansätze dazu gefunden habe, welche ich nicht ganz oder gar nicht nachvollziehen konnte, hab ich mir halt gedacht, schreib ich das Teil einfach selbst, wie schwer kann das sein.
Aber jetzt geht gar nichts mehr. Hier ist mein Lösungsansatz, welcher ich bissher habe:
Dieser Code SOLLTE für jede IP-Adresse, von welcher aus ein Kommentar gepostet wird zuerst prüfen, ob die Datei "timestamp-[IP-ADRESSE].txt" im Ordner "meine-dateien" existiert. Wenn ja, soll er prüfen, ob der Inhalt dieser Datei kleiner oder gleich als die aktuelle Zeit minus 5 Minuten (300 Sekunden) ist. Wenn ja, ist alles in Ordnung (wobei mir gerade Auffält, dass dann der Timestamp in der Textdatei noch aktualisiert werden müsste, sprich, die Datei überschrieben werden müsste) und weiter gehts mit dem post, wenn nein, Fehler.
Wenn die Datei "timestamp-[IP-ADRESSE].txt" gar nicht erst existiert, soll sie erstellt werden und darin der Timestamp geschrieben werden.
Das ganze funktioniert aber nicht :(
Ich bin am Verzweifeln; was ist an meiner Überlegung, bzw. an meiner Ausführung falsch?
Ich bin zurzeit am Verzweifeln. Ich habe lange nach einer guten funktion gesucht, bei welcher jeder Benutzer, in meinem Fall, alle 5 Minuten nur ein Kommentar posten kann. Da ich nur sehr sehr Komplizierte Lösungsansätze dazu gefunden habe, welche ich nicht ganz oder gar nicht nachvollziehen konnte, hab ich mir halt gedacht, schreib ich das Teil einfach selbst, wie schwer kann das sein.
Aber jetzt geht gar nichts mehr. Hier ist mein Lösungsansatz, welcher ich bissher habe:
PHP:
<?php
if(file_exists("/meine-dateien/timestamp-".$_SERVER['REMOTE_ADDR'].".txt")){
if(file("/meine-dateien/timestamp-".$_SERVER['REMOTE_ADDR'].".txt")<=time(s)-300){
goto nextstep;
}else{
echo 'Irgendein bloedsinniger Fehler ist aufgetreten, da Sie bereits zu viele Kommentare geschreiben haben, oder so. Das tut uns leid, jetzt noch ein sarkastisches Trauer-Smiley ":(" und Schluss - Versuchen Sie\'s halt spaeter noch mal. ';
exit;
}
}else{
$txt = fopen("/meine-dateien/timestamp-".$_SERVER['REMOTE_ADDR'].".txt", "a");
fwrite($txt, time());
fclose($txt);
nextstep:
/* hier kommt dann irgendeine daemliche Funktion, also der Post des Kommentars */
?>
Dieser Code SOLLTE für jede IP-Adresse, von welcher aus ein Kommentar gepostet wird zuerst prüfen, ob die Datei "timestamp-[IP-ADRESSE].txt" im Ordner "meine-dateien" existiert. Wenn ja, soll er prüfen, ob der Inhalt dieser Datei kleiner oder gleich als die aktuelle Zeit minus 5 Minuten (300 Sekunden) ist. Wenn ja, ist alles in Ordnung (wobei mir gerade Auffält, dass dann der Timestamp in der Textdatei noch aktualisiert werden müsste, sprich, die Datei überschrieben werden müsste) und weiter gehts mit dem post, wenn nein, Fehler.
Wenn die Datei "timestamp-[IP-ADRESSE].txt" gar nicht erst existiert, soll sie erstellt werden und darin der Timestamp geschrieben werden.
Das ganze funktioniert aber nicht :(
Ich bin am Verzweifeln; was ist an meiner Überlegung, bzw. an meiner Ausführung falsch?
Zuletzt bearbeitet: