47856
Jun 05, 2008, updated at Sep 22, 2008 (UTC)
5304
6
0
mehrfache SQL Eintraege nach F5 Aktualisierung
Folgendes Problem:
Speichert man in SQL-Datenbank über HTMl-Formular irgendwelche Einträge funktioniert erstmal alles ohne Probleme, aber wenn man dann die Taste F5 (Aktualisieren) drückt, speichert er den selben Eintrag nochmal ohne das im Eingabefeld irgendein Zeichen steht.
Wir haben versucht diese $_POST Variable mit unset() zu löschen, aber er speichert trotzdem den letzten eingegebenen Text ab.
Habt ihr irgendwelche Ideen???
Schon mal im Vorraus, Danke.
MfG.
Speichert man in SQL-Datenbank über HTMl-Formular irgendwelche Einträge funktioniert erstmal alles ohne Probleme, aber wenn man dann die Taste F5 (Aktualisieren) drückt, speichert er den selben Eintrag nochmal ohne das im Eingabefeld irgendein Zeichen steht.
Wir haben versucht diese $_POST Variable mit unset() zu löschen, aber er speichert trotzdem den letzten eingegebenen Text ab.
Habt ihr irgendwelche Ideen???
Schon mal im Vorraus, Danke.
MfG.
Please also mark the comments that contributed to the solution of the article
Content-Key: 89197
Url: https://administrator.de/contentid/89197
Printed on: April 26, 2024 at 08:04 o'clock
6 Comments
Latest comment
Hallo Webluna.
Diese Frage wurde vor nicht allzu langer Zeit in einem anderem Forum, in dem ich auch unterwegs bin, gestellt.
Eine der Lösungen (die die mir am besten gefällt) ist der HTTP-Statuscode "205 Reset Content" mit einer Headerweiterleitung.
Ich verwende es zwar selber noch nicht, aber ich hatte mir dazu ein Testskript geschrieben das super funktioniert:http://www.cybton.com/view_thread,Formular+Reload+verhindern,26986,1.ht ...
Gruß Arano
Diese Frage wurde vor nicht allzu langer Zeit in einem anderem Forum, in dem ich auch unterwegs bin, gestellt.
Eine der Lösungen (die die mir am besten gefällt) ist der HTTP-Statuscode "205 Reset Content" mit einer Headerweiterleitung.
Ich verwende es zwar selber noch nicht, aber ich hatte mir dazu ein Testskript geschrieben das super funktioniert:
<?php
if(isset($_POST['name'])){
$db=fopen('./db.txt','a+');
fwrite($db,$_POST['name']."\r\n",strlen($_POST['name']."\r\n"));
fclose($db);
header('HTTP/1.1 205 Reset Content');
header('Location: ./index.php');
}
?>
<html>
<head>
<title>reload - header - reset content</title>
</head>
<body>
<form action="./" method="POST">
<input type="text" name="name" value="<?php if(isset($_POST['name'])) echo $_POST['name'] ?>"><br>
<input type="submit" value="Abschicken">
</form>
<hr>
Testskript zu <a href="http://www.cybton.com/view_thread,Formular%20Reload%20verhindern,26986,2.html#p282730">http://www.cybton.com/view_thread,Formular%20Reload%20verhindern,26986,2.html#p282730</a>
</body>
</html>
Gruß Arano
Hi,
1. Lösung:
Du fragst die Datenbank mit den Werten ab, die du speichern willst, ob diese indentischen Werte bereits dort existieren und wenn nein, dann speicherst du sie ab, sonst eben nicht. Dadurch kannst du das einfach vermeiden, stellt natürlich aber zusätzliche Abfrage an die DB dar.
2. Lösung:
Du machst das mit AJAX, da dort die Eingaben dann nur in der JavaScript onClick-Anweisung an die PHP übergeben werden und gespeichert werden und nicht mehr bei F5-Drücken.
1. Lösung:
Du fragst die Datenbank mit den Werten ab, die du speichern willst, ob diese indentischen Werte bereits dort existieren und wenn nein, dann speicherst du sie ab, sonst eben nicht. Dadurch kannst du das einfach vermeiden, stellt natürlich aber zusätzliche Abfrage an die DB dar.
2. Lösung:
Du machst das mit AJAX, da dort die Eingaben dann nur in der JavaScript onClick-Anweisung an die PHP übergeben werden und gespeichert werden und nicht mehr bei F5-Drücken.