47856
05.06.2008, aktualisiert am 23.09.2008
5427
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89197
Url: https://administrator.de/contentid/89197
Ausgedruckt am: 16.11.2024 um 13:11 Uhr
6 Kommentare
Neuester Kommentar
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.