Autor Zpráva
Anonymní
Profil *
Potřebuji poradit, jak zamezit opakovanému odeslání dat do databáze při obnovování stránky.
Funguje to takto: stranka1 je formular, ktery pres POST odesilam na stranku2, kde data zapisuju do databáze. Pokud byla úspěšně zapsána, vypíšu uživateli hlášku, že vše proběhlo v pořádku a vypíšu mu údaje, které zadával. Pokud z té stránky odejde, je vše OK, ale když stránku obnoví, zápis se provede znovu. Napadlo mě stránku po uložení dat do databáze hned přesměrovat, ale nemůžu přes META a Javascriptu bych se raději také vyhnul. Zkoušel jsem vymýšlet různé podmínky, ale zatím bez úspěchu. A přitom to musí existovat.. Děkuju
grafical
Profil
a co Header ?


<?php

$dotaz = mysql_query ... ;

if (!$dotaz ...)
{
echo 'NEUSPESNE <a href="stranka1.html">Zkus to znovu</a>';
}
else
{
header ("Location = ... ");
}

?>
jersywoo
Profil *
udělej na tu druhou stránku kontrolu,
1) jestli data už jsou uložená
2) pokud nejsou, ulož je, dále viz 4
3) pokud jsou viz 4
4) ukaž hlášku o uložení dat
Anonymní
Profil *
Myslím, že header lze použít pouze tehdy, když před ním není žádný výstup v php. A to použít nemůžu, prakticky je to stejný jako META tag, nebo ne?
jersywoo Zkusím to, zatím mě nenapadá, co bych měl porovnávat, možná všechny položky, které do databáze ukládám. A když se budou rovnat, tak tam už ten záznam je. Díky.
ash
Profil
Anonymní
Ale grafical tam nemá žiadny výstum v php pred header. Jeho riešenie je oveľa elegantnejšie a bežne sa používa pri tomto probléme.
A nie je to to isté ako meta tag.
Anonymní
Profil *
Ale já ho tam bohužel mám. Udělal jsem to přes kontrolu 3 hodnot v databázi, sice to není 100%, ale lepší něco než nic... Díky
Toto téma je uzamčeno. Odpověď nelze zaslat.