webForumDet fria alternativet

Hur gör jag fyra stegs formulär i PHP?

PHP

3 svar · 543 visningar · startad av Robbster

Medlem sedan aug. 200290 inlägg
Frågan#1

Frågan lyder som ämnet.
Dvs att man har ett formulär med fyra olika steg.
Fylla i. Trycka vidare till steg två. Fylla i. Trycka vidare till steg tre. Fylla i. Steg fyra: Skickat!

Och sen ska självklart all den information från alla steg komma till min mailadress.
Hur tusan gör man sånt script?

Medlem sedan okt. 20023 030 inlägg
#2

Du gör ett formulär på sida ett, när man klickar på Skicka så går den till sida två som i sin tur lägger informationen från sida ett i antingen en session eller ett dolt input-fält. Sen gör du samma sak för sida tre och fyra för att sedan till sist skicka informationen med mail-funktionen.

Medlem sedan mars 20034 471 inlägg
#3

Nexus86 skrev:

... Skicka så går den till sida två som i sin tur lägger informationen från sida ett i antingen en session eller ett dolt input-fält. ...

Hur gör man det? Kan du förklara? :q Framförallt den senare varianten, men gärna den första också...

Medlem sedan juni 20015 009 inlägg
#4

Att köra med dolt input-fält är enkelt men ändå krångligt, man måste se till så att man inte förlorar värdena sedan sidorna innan.

Men det fungerar så här:

1. Steg 1, användaren fyller i allt och när alla värden är ok och validerade osv så kommer man till steg2.

2. Alla värden från steg 1 hämtas med $_POST och läggs i dolda input-fält.

3. När användaren fyllt i allt kommer man till steg 3 och då hämtar man både värdena från steg 2 och steg 1 med Post, värdena från steg 1 ligger ju kvar i de dolda input-fälten.

Så fungerar det i princip. Det man måste vara noga med är att om en användare gör fel på ett fält och sidan returnerar ett fel istället för att gå vidare så måste man se till att värdena i de dolda input-fälten hänger med.

Vill man köra med sessioner så skapar man en session för varje värde när alla fält är ifyllda korrekt och man ska gå vidare till nästa steg. Inget svårt där heller. :)

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)