Autor | Zpráva | ||
---|---|---|---|
Rad Profil |
#1 · Zasláno: 3. 3. 2016, 08:11:01
Dobrý den,
dlouho mám problém s vkládáním záznamu do mysql databáze z formuláře v IE. Po vyplnění polí a odeslání ke zpracování pomocí PHP se POUZE v prohlížečí IE vloží záznam dvojitě - jako by se odeslal dvakrát. Ani google mi nepomohl. Nevíte, prosím, někdo, jak to ošetřit? Kód: require "./db_spojeni.php"; $vzkaz=$_POST['vzkaz']; $jmeno=$_POST['jmeno']; $sql_prikaz="INSERT INTO vzkaznik(text,jmeno,datum,id) " ."VALUES('" .mysqli_real_escape_string($db_spojeni,$vzkaz) ."','" .mysqli_real_escape_string($db_spojeni,$jmeno) ."',NOW(),NULL)"; $zapis=mysqli_query($db_spojeni, $sql_prikaz); if ($zapis) { echo 'Příspěvek byl vložen'; mysqli_close($db_spojeni); echo '<script language="JavaScript"> <!-- window.location="./index.php?stranka=vzkaznik#0"; // --> </script>'; } else { echo '<span class="tlako muj_font">Chyba!</span><br><br>'; } |
||
Kajman Profil |
#2 · Zasláno: 3. 3. 2016, 08:17:36
Po zápisu přesměrujte přes http hlavičku ne přes javascript.
if ($zapis) { mysqli_close($db_spojeni); header("Location: ./index.php?stranka=vzkaznik#0"); exit; } |
||
Rad Profil |
#3 · Zasláno: 3. 3. 2016, 08:20:04
Vyzkouším, děkuji moc za pomoc.
|
||
Rad Profil |
#4 · Zasláno: 3. 3. 2016, 16:22:54
Tak to bohužel nepomohlo :-( Už nevím, co s tím...
|
||
Kajman Profil |
#5 · Zasláno: 3. 3. 2016, 20:30:12
Ještě můžete zkusit ošetřit doubleclick, něco jako
Vícenásobný submit skript ruší posílání submit name |
||
Chamurappi Profil |
#6 · Zasláno: 3. 3. 2016, 21:55:11
Reaguji na Rada:
„se POUZE v prohlížečí IE vloží záznam dvojitě - jako by se odeslal dvakrát“ A ve skutečnosti se odesílá kolikrát? Co vidíš třeba ve Fiddlerovi? To odeslání se děje úplně normálně? Žádný JS do toho neintervenuje? Žádný AJAX? Žádné volání submit u z onsubmit u? O takovéto chybě slyším prvně.
|
||
leorond Profil |
Co zkusit omezit odesílání například antispamovou otázkou nebo nějakou časovou prodlevou před odesíláním nového formuláře?
Ještě bych se zeptal, toto je celý script? žádná podmínka $_GET nebo $_POST ? Myslím tím například na začátek uložit if(isset($_POST["zpracovat"])) Jelikož kdyby toto byl celý script tak kdyby na něj někdo jen přišel třeba přes URL tak už se zapisuje do databáze |
||
Časová prodleva: 9 let
|
0