Hoi.
op mijn website heb ik een dynamisch formulier staan.
Dit formulier wordt opgebouwd vanuit een database.
In de database staan dan de vragen met daarbij het soort van input element (text, radio, textarea etc)
Bij het maken van de formulieren is het mogelijk een formulier te verdelen
in verschillende pagina's. Dit gaat prima, echter een probleem de sessie wordt niet onthouden.
Ik wil de user input tijdelijk opslaan in sessie variabelen om zo aan het eind van het formulier
de data in de database te stoppen zodat er geen half afgeronde formuliere in de db komen.
Wanneer form1 verzonden wordt, komt de data van form1 netjes in de sessie.
Wordt dan form2 verzonden, dan wordt de data van form1 in de sessie overschreven.
Iemand enig idee hoe dit kan.
Hieronder de code van het doorlopen van de submit array en dan de waardes opslaan in de sessie.
Hier nog ff de print_r output van form1 en form2
De print_r($_SESSION) NA form 1 geeft
De print_r($_SESSION) NA form 2 geeft
Heb voor dit probleem google en got al afgezocht, echter geen resultaat geboekt.
op mijn website heb ik een dynamisch formulier staan.
Dit formulier wordt opgebouwd vanuit een database.
In de database staan dan de vragen met daarbij het soort van input element (text, radio, textarea etc)
Bij het maken van de formulieren is het mogelijk een formulier te verdelen
in verschillende pagina's. Dit gaat prima, echter een probleem de sessie wordt niet onthouden.
Ik wil de user input tijdelijk opslaan in sessie variabelen om zo aan het eind van het formulier
de data in de database te stoppen zodat er geen half afgeronde formuliere in de db komen.
Wanneer form1 verzonden wordt, komt de data van form1 netjes in de sessie.
Wordt dan form2 verzonden, dan wordt de data van form1 in de sessie overschreven.
Iemand enig idee hoe dit kan.
Hieronder de code van het doorlopen van de submit array en dan de waardes opslaan in de sessie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <? session_start(); // kijken of alle verplichte velden zijn ingevuld. if(isset($_POST['submit'])){ foreach ($_POST as $sleutel => $waarde_sleutel) { if(($sleutel == "VraagVerplicht") OR ($sleutel == "submit") OR ($sleutel == "voltooid")){ // niets doen, deze moeten niet opgeslagen worden. } else { // wel opslaan $_SESSION[$sleutel] = $waarde_sleutel; //echo $sleutel." => ".$waarde_sleutel; } } echo "<pre>"; echo print_r($_SESSION); echo "</pre>"; } |
Hier nog ff de print_r output van form1 en form2
De print_r($_SESSION) NA form 1 geeft
code:
1
2
3
4
5
6
7
| Array ( [PHPSESSID] => 5cb3ef7321577f9c00209a851e82090d [12] => 1983 [13] => Man [vermeld] => Lid ) |
De print_r($_SESSION) NA form 2 geeft
code:
1
2
3
4
5
6
7
| Array ( [PHPSESSID] => 5cb3ef7321577f9c00209a851e82090d [15] => Zeer goed, lekker gezellig [16] => asdf [17] => asdf ) |
Heb voor dit probleem google en got al afgezocht, echter geen resultaat geboekt.