WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Durch F5 werden die Daten immer wieder in die Datenbank eingetragen!! (http://www.wcm.at/forum/showthread.php?t=168694)

bigtail 25.06.2005 22:02

Durch F5 werden die Daten immer wieder in die Datenbank eingetragen!!
 
Hi,

ich habe gerade was komisches entdeckt.

Ich habe zwei PHP-Dateien geschrieben. form.php und insert.php.

"form.php" ist ein Formular, das einige Werte an "insert.php" übergibt.
"insert.php" stellt eine Verbindung zur Datenbank her und schreibt diese Werte in die Datenbank rein.

Soweit, so gut.

Nun habe ich festgestellt, dass auch wenn ich "insert.php" direkt ausführe, leere Einträge in die Datenbank eingetragen werden.

Oder wenn ich mit dem Formular Werte an "insert.php" übergebe und "insert.php" diese dann in die Datenbank reinschreibt,und jedesmal wenn ich den Browser aktualisiere (F5) die Daten erneut in die Datenbank eingetragen werden.

Ist das normal?


Wie kann ich das unterbinden?

Gruß

pong 25.06.2005 22:18

Zitat:

Ist das normal?
Das Script wird immer das tun, was der Schreiber ihm sagt.

Zitat:

Wie kann ich das unterbinden?
redirect, Session beenden und neu aufbauen und/oder Eingabeprüfung, je nachdem, was in deinem Anwedungsfall sinnvoll zu sein scheint

pong

bigtail 26.06.2005 13:37

Zitat:

Session beenden und neu aufbauen
Das ist wonach ich suche.
Leider bin ich ein absoluter PHP-Anfänger, und habe bislang mit Session keine Erfahrungen.

Könntest du bitte hier ein kleines Lösungsbeispiel mit Sessions für das Problem posten?

sagi 26.06.2005 15:08

Ich glaube eher, dass dir redirect helfen wird.

Weiters ist es sinnvoll, wenn du jeder Anfrage eine eindeutige ID gibst, die du in der Session und in einem versteckten Formularfeld speicherst. Dadurch werden die Daten nur 1x verarbeitet/gespeichert, wenn nicht das Formular erneut aufgerufen und ausgefüllt wird, da dann ja eine neue Id vergeben wird.

Zusätzlich ist es nett, wenn du die Submit Schaltfläche gegen Doppelklick Anfälle schützt. Hier ein Beispiel wie das geht: http://www.blueshoes.org/en/javascript/misc/

mfg
c.

Potassium 27.06.2005 22:58

Zitat:

Original geschrieben von sagi


Zusätzlich ist es nett, wenn du die Submit Schaltfläche gegen Doppelklick Anfälle schützt. Hier ein Beispiel wie das geht: http://www.blueshoes.org/en/javascript/misc/

mfg
c.

nützt aber nix wenn js ausgeschalten ist........

sagi 29.06.2005 19:22

Zitat:

Original geschrieben von Potassium
nützt aber nix wenn js ausgeschalten ist........
Darum meinte ich auch "zusätzlich" ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag