Autor Zpráva
aDAm
Profil
Zdravím,
mam takový menší problém s validací formuláře.

Mám stránku formular.php kde je definován formulář, ten se pomoci action odešle na adresu zpracuj.php kde skript provede validaci a pokud něco chybí tak přesměruje zpět na formular.php a přidá informaci že není vše vyplněno.

Co ale potřebuji je aby byla možnost předvyplnit formulář tím co už uživatel zadal. Je to nějak možné přesměrovat tak aby si to pamatovalo hodnoty v POSTu?
Budulinek
Profil
aDAm
Můžeš zkusit poslat ten formulář na stejnou stránku, na které ten formulář zobrazuješ a pokud ty vstupy nevyhoví, zobrazíš znovu formulář. Jako předvyplněný hodnoty nastavíš $_POST['name'] a tím by se ti měly ty hodnoty po odeslání zase zobrazit v tom formuláři.
aDAm
Profil
to bohužel nejde, ten příklad co jsem tady uvedl je jen pro zjednodušení situace, ve skutečnosti je to součást systému a data se zobrazují na jedné url a zpracování je na jiné.
AM_
Profil
nebo ty hodnoty můžeš odesílat původnímu formuláři zpět přes GET.
Vrcholem uživatelského pohodlí je ale validace javascriptem
aDAm
Profil
no getem zase nemůžu poslat všechno takže to taky neřeší problém.
Validaci pomoci JS samozřejmě používám ale může nastat situace že někdo zakáže JS a pak odešle form bez potřebného vyplnění. Proto ještě to ověření PHPkem
AM_
Profil
no getem zase nemůžu poslat všechno takže to taky neřeší problém.
uveď příklad počítačových dat, která nelze poslat getem.
aDAm
Profil
třeba celou textarea pokud obsahuje dlouhy řetězec dat....
aDAm
Profil
no tak sem tento problem googloval, našel jsem nějakou php funkci session_register(); ale pokud jsem dobře pochopil manual tak není dobré ji použit

problém jsem tedy vyřešil tak že data uložím do session a pokud dojde při validaci k chybě tak se přes session předají strance pro výpis dat jinak se smažou. zatím tedy funguje jak má...
cistax
Profil
jeste gettem nejde poslat heslo tedy respektive jde, ale jde to precist

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0