Autor Zpráva
mstar
Profil
Zdravím,

Vytvářím si knihu návštěv (v PHP) a mám problém s tlačítkem pro aktualizování obsahu. Jelikož nevím, jak na stisk tlačítka vyvolat PHPfunkci, zkusil jsem to řešit javascriptem, mám ale problém s tím, že po stisku se, má-li dojít k obnovení, odešlou znovu před tím odeslaná data z formuláře, a tudíž se příspěvek opakovaně ukládá.

Prosím proto o radu, jak vyresetova předešlá data z fomu, nebo jak vyvolat PHP fci na stisk tlačítka

Díky za radu

Link na knihu
bukaj
Profil
mstar
Jelikož nevím, jak na stisk tlačítka vyvolat PHPfunkci
To se není čemu divit, protože to ani nejde ;)

zkusil jsem to řešit javascriptem
Jedna z močností.

mám ale problém s tím, že po stisku se, má-li dojít k obnovení, odešlou znovu před tím odeslaná data z formuláře, a tudíž se příspěvek opakovaně ukládá.
A co máš za skript?

Pokud jsem to pochopoli správně, tak ti jde o to, aby se stránka po určitém časovém limitu opět načetla. První možností je na to jít přes Javasctipt, ale o tom ti moc neřeknu, protože Javascript neovldádám na takové úrovni, abych mohl radit.

Další možností je použít meta tag.

Anebo rovnou PHP fcí header odeslat příslušnou hlavičku:

header('Refresh: 10;URL=http://www.m-shop.php5.cz/kniha.php');

Pokud to umístíš do té knihy, tak to každých 10 vteřin obnoví stránku.
mstar
Profil
To je taky možnost, tos tím headrem ... No, vize byla taková:
Stránka se skládá z formuláře a divu, do kterýho PHPčko vypisuje obsah html souboru, kam se ukládají příspěvky.
Tlačítka klasika: odeslat, smajlíci, pak něco jako odkazy, tučné písmo a tak, no a obnovit, kde na stisk by se měl buď znovu načíst pomocí PHP obsah divu, nebo jak to mám teď JS s fcí:

function obnova()
{
location.reload(false);
}


S tou mám právě problém, že funguje vlastně jen tehdy, když se před tím neodešle nic do diskuse, jinak se pak opakují příspěvky. Napadlo mě taky, jestli se nedá formulář po načtení dat vyresetovat, aby se pak nemělo co odesílat, no nevím no, na začátku je každej roura

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0