basso: php funktion in neuer Seite

Hallo, ich habe ein Problem mit einer Seite von mir.

Ich habe eine php seite wenn sie geladen wird, wird ein counter aus einer mysql Tabelle ausgelesen und um eins erhöht, und wieder in die Tabelle eingelesen.

(Es handelt sich nicht um eine admin-Statistikseite)

Wenn ich im Browser aktualisieren klicke, wird die Funktion erneut aufgerufen und der counter
um eins erhöht - was nicht sein soll.

Mein Ansatz war nun, um dies zu umgehen, eine Function zuschreiben und diese im href des links, der zu der Seite führt aufzurufen. und ich verzweifele gerade daran.

Vielleicht gibt es ja aber auch eine besser Lösung mein Vorhaben zurealisieren?

gruß

  1. Hallo basso.

    Dafür gibt es wohl mehrere Möglichkeiten:

    Einmal kannst du dem User per Cookie oder Session einen Wert zuweisen, sobald er den Counter einmal aufgerufen hat. Du fragst einfach ab, ob der User bereits eine/n entsprechende/n Cookie/Session besitzt und erhöhst dann gegebenenfalls.

    Außerdem könntest du einfach ein weiteres Feld schreiben, in das du die IP des letzten Users schreibst. Der User ruft also den Counter auf, dieser überprüft die vorliegende IP mit der IP in der Datenbank und erhöht nur, wenn es nicht die gleiche IP ist.
    Wenn der Wert erhöht werden soll schreibst du zusätzlich zum Counter-Wert die IP in die DB. Bei vielen Usern dürfte natürlich das Problem sein, dass die IP sich so schnell ändert, dass dies gar nicht mehr auf den letzten User zurückzuführen ist. Dann müsstest du eventuell noch eine Datei machen und in diese die IPs reinschreiben.

    Man liest sich, H2O

    --
    Dodwin | Download Opera
    [ie:% fl:( br:< va:) ls:[ fo:| rl:( n4:( ss:) de:> js:| ch:? sh:( mo:| zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%25%20fl%3A(%20br%3A%3C%20va%3A)%20ls%3A%5B%20fo%3A%7C%20rl%3A(%20n4%3A(%20ss%3A)%20de%3A%3E%20js%3A%7C%20ch%3A%3F%20sh%3A(%20mo%3A%7C%20zu%3A%7D)