Autor Zpráva
Ameopro
Profil
Ahojte prosím vás jak mám udělat aby se my formulář udělal na více kroku npř na 3 a aby se my ukládaly data aby se pak nestratili po překliknutí ? jak to mám řešit díky moc
AdiOverRide
Profil
Ahoj, řešení se ti nabízí mnoha, záleží jak ta aplikace má vypadat.
Mezi nejjednodušší řešení určitě patří
- lze to udělat tak, že by jsi měl části formulářů skryté a při "další" by se to pomocí jQuery zobrazilo
- ukládat si každý krok formuláře po odeslání třebas do sessions (to máš výhodu, že když někdo dá aktualizovat že mu to můžeš předvyplnit)

Ale asi záleží co to má být, jestli by to měl být košík tak bych to spíš naházel do sessions (možná rovnou do db), když to je nějaký kontaktní formulář, tak bych to asi řešil pomoci toho jQuery.

A.
Ameopro
Profil
a co by jsi řekl na řešení že by se to ukládalo do formuláře a pak jak překlikne tam byl další a dalo se to do inpute tye="Hidden"
a bylo to vlasne schovano v inputu a pak při zavěru vše vypsalo ???
Myslíš že to je dobre řešení ???
AdiOverRide
Profil
Jak by jsi to zpracovával? by jsi vytvářel formulář A a formulář B by podědil formulář A? Nedovedu si to nějak představit, spíše bych to řešil tak jak jsem psal já, ale je to možná můj subjektivní názor. Možná se ozve někdo s něčím ideálním. Ale asi bych se do tvého řešení dobrovolně nepouštěl.
kordy
Profil
Používal jsem buď zápis do souboru nebo sessions :) Případně cookies, ale neběží všude.
mimochodec
Profil
kordy:
Používal jsem buď zápis do souboru nebo sessions :) Případně cookies, ale neběží všude.

Nerad bych se pletl, ale myslím, že kde nefungují cookies, nemůžou fungovat ani sessions.

Ameopro:
Jestli to budeš předávat hiddenem, přijdeš o to, když člověk přejde z jedné stránky na druhou jinak, než tlačítkem, které mu tam nachystáš. Kdybys to jako zákazníkovi(?) udělal mně, musel bys mít sakra dobré zboží nebo cenu, abych se obtěžoval ještě jednou.
kordy
Profil
Myslel jsem že fungují normálně, ale popravdě jsem nikdy nezkoušel vypnout cookies :) Až teď jsem se dověděl víc..



"Aby mohly sessions rozumně fungovat, musí být zapnuté cookies, kam se uloží unikátní identifikátor (PHPSESSID), který pomůže serveru rozeznat návštěvníky a přidělit jim vlastní session (PHP sice toto umí obejít tak, že do všech odkazů na stejnou doménu vecpe parametr PHPSESSID, ale je to dost oškivé a ne moc spolehlivé)."
to je citace odsut


mimochodec:
Jestli to budeš předávat hiddenem, přijdeš o to, když člověk přejde z jedné stránky na druhou jinak, než tlačítkem, které mu tam nachystáš. Kdybys to jako zákazníkovi(?) udělal mně, musel bys mít sakra dobré zboží nebo cenu, abych se obtěžoval ještě jednou.

A jak by se tam měl dostat jinak než tlačítkem? :) zákazník přece nezná strukturu jeho stránek, aby mohl napsat adresu následujícího souboru...
Alphard
Profil
kordy:
PHP sice toto umí obejít tak, že do všech odkazů na stejnou doménu vecpe parametr PHPSESSID, ale je to dost oškivé a ne moc spolehlivé
To není obcházení, ale normální způsob práce při povolení tohoto přístupu. Nejde zas tak o spolehlivost, ale o nebezpečnost takového chování, pokud se session používá pro přihlášení (identifikátor by se při sdílení odkazu poslal do světa). Proto to bývá zakázané. Více např. v Sessions.

mimochodec:
estli to budeš předávat hiddenem, přijdeš o to, když člověk přejde z jedné stránky na druhou jinak, než tlačítkem
Tohle lze vidět i obrácené. Někdy mohu jako uživatel chtít začít vyplňovat více formulářů paralelně, počítá s tím vaše řešení? Tímto neříkám, že jindy nechci výsledky sdílet, záleží na situaci.

Používal jsem buď zápis do souboru
Buď jste to měl hodně pracně ošetřené, nebo jste měl štěstí, že jste o ta data nepřišel. Začátečníkům bych to nedoporučoval.
jenikkozak
Profil
kordy:
A jak by se tam měl dostat jinak než tlačítkem? :) zákazník přece nezná strukturu jeho stránek, aby mohl napsat adresu následujícího souboru...
Nejčastěji pomocí odkazu. Při jeho použití se políčka formuláře neposílají.

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