.Senseless
Hallo!
Ich habe da ein Problem: Wie kann ich es realisieren, dass ein Benutzer (Login mit Sessions) eine Seite nur einmal am Tag aufrufen darf?
Bis jetzt habe ich es immer mit PHP gemacht: Bei jedem Aufruf der Seite die Datei "aufruf_BENUTZERNAME_DATUM" aufrufen und prüfen, ob deren Inhalt 1 ist. Wenn nicht, darf man die Seite sehen und PHP schreibt eine 1 in die Datei. Wenn man die Seite nochmal aufruft, steht eine 1 darin und man sieht die Seite nicht.
Doch das würde bei mehr Mitgliedern zu jede Menge Dateien führen: Sagen wir mal, ich habe 5 Mitglieder. Dann bekomme ich jeden Tag bis zu 5 neue, eigentlich unnütze Dateien! Ich möchte aber auch nicht jeden Abend die Dateien vom vergangenen Tag löschen.
Ich habe überlegt, es wieder genauso zu machen: Nur mit MySQL - also wird die 1/das aktuelle Datum in die Datenbank geschrieben, beim jeweiligen Benutzer. Und dann müsste ich einen Cronjob anlegen, der bewirkt, dass um Mitternacht jede dieser "Seitenaufruf"-Spalten wieder auf 0 gestellt wird. Und auf der Seite, die man nur einmal am Tag aufrufen darf, gibts dann eine Überprüfung: "Ist das Datum in der DB mit dem aktuellen übereinstimmend/Ist eine 1 in der DB? Wenn ja: echo "Das geht nur einmal am Tag" Wenn nein: Seite anzeigen"
Das ist aber irgendwie ... umständlich und auch nicht so toll.
Es wäre zwar okay, aber ich wollte hier mal nachfragen, ob es nicht auch eine bessere Methode gibt. Hat niemand eine, werde ich es wohl so machen müssen. Beim Googlen habe ich nur etwas mit Cookies gefunden, aber die kann man abschalten. Das ist dann nicht so toll =D
Also, hat jemand eine Idee?
Freue mich über jeden Vorschlag,
.Senseless
Ich habe da ein Problem: Wie kann ich es realisieren, dass ein Benutzer (Login mit Sessions) eine Seite nur einmal am Tag aufrufen darf?
Bis jetzt habe ich es immer mit PHP gemacht: Bei jedem Aufruf der Seite die Datei "aufruf_BENUTZERNAME_DATUM" aufrufen und prüfen, ob deren Inhalt 1 ist. Wenn nicht, darf man die Seite sehen und PHP schreibt eine 1 in die Datei. Wenn man die Seite nochmal aufruft, steht eine 1 darin und man sieht die Seite nicht.
Doch das würde bei mehr Mitgliedern zu jede Menge Dateien führen: Sagen wir mal, ich habe 5 Mitglieder. Dann bekomme ich jeden Tag bis zu 5 neue, eigentlich unnütze Dateien! Ich möchte aber auch nicht jeden Abend die Dateien vom vergangenen Tag löschen.
Ich habe überlegt, es wieder genauso zu machen: Nur mit MySQL - also wird die 1/das aktuelle Datum in die Datenbank geschrieben, beim jeweiligen Benutzer. Und dann müsste ich einen Cronjob anlegen, der bewirkt, dass um Mitternacht jede dieser "Seitenaufruf"-Spalten wieder auf 0 gestellt wird. Und auf der Seite, die man nur einmal am Tag aufrufen darf, gibts dann eine Überprüfung: "Ist das Datum in der DB mit dem aktuellen übereinstimmend/Ist eine 1 in der DB? Wenn ja: echo "Das geht nur einmal am Tag" Wenn nein: Seite anzeigen"
Das ist aber irgendwie ... umständlich und auch nicht so toll.
Es wäre zwar okay, aber ich wollte hier mal nachfragen, ob es nicht auch eine bessere Methode gibt. Hat niemand eine, werde ich es wohl so machen müssen. Beim Googlen habe ich nur etwas mit Cookies gefunden, aber die kann man abschalten. Das ist dann nicht so toll =D
Also, hat jemand eine Idee?
Freue mich über jeden Vorschlag,
.Senseless
Wenn du Useranmeldung hast und die in der MySQL-Tabelle speicherst ist das wirklich nur minimaler Aufwand!