Scripts
Formulier opdelen
Dit is een simpel scriptje wat er voor zorgt dat je een formulier op kan delen in verschillende pagina's d.m.v. sessies. Het is niet erg uitgebreid, maar wel effectief ;-) Session destroy kun je op de laatste pagina zetten, maar hoeft niet ;-)
formulier-opdelen
[code]
<?php
session_start(); //even aangeven dat we met sessies gaan werken
if ($_SERVER['REQUEST_METHOD'] == 'POST') //als er op submit is gedrukt
{
foreach ($_POST as $key => $value) //split de $_POST op in key en value
{
$_SESSION['form1'][$key] = $value; //gooi alles in de sessie
}
}
if(isset($_GET['action'])) //als de pagina.php?action=... is geset
{
if($_GET['action'] == 'back') // als de pagina.php?action= back is
{
if($_SESSION['form1']['page'] > 1) //als de sessie waarde groter dan 0 is
{
--$_SESSION['form1']['page']; //verminder de sessie waarde met 1
header('location: '.$_SERVER['PHP_SELF']); //header location naar de pagina*** lees onderaan
}
else //als de waarde kleiner is dan 0
{
unset($_SESSION['form1']['page']); //pagina sessie unsetten
header('location: '.$_SERVER['PHP_SELF']); //header location maken *** lees onderaan
}
}
}
if(isset($_SESSION['form1']['page'])) //als er geen sessie bestaat, of als de sessie waarde van pagina 0 is
{
switch($_SESSION['form1']['page']) //switch maken op de sessiewaarde van page
{
case 0: //als sessiewaarde 0 is
?>
<form id="form1" name="form1" method="post" action="#">
Naam 1: <input name="naam" type="text" id="naam" value="<?=$_SESSION['form1']['naam'] ? $_SESSION['form1']['naam'] : '' ?>" /><br />
<input name="page" value="1" type="hidden" />
<input type="submit" name="Submit" value="Submit" />
</form>
<br>
<br>
<a href="?action=back">vorige pagina</a>
<?php
break;
case 1: //als de sessie waarde 1 is
?>
<form id="form1" name="form1" method="post" action="#">
Naam 2: <input name="naam2" type="text" id="naam" value="<?=$_SESSION['form1']['naam2'] ? $_SESSION['form1']['naam2'] : '' ?>" /><br />
<input name="page" value="2" type="hidden" />
<input type="submit" name="Submit" value="Submit" />
</form>
<br>
<br>
<a href="?action=back">vorige pagina</a>
<?php
break;
case 2: //als sessiewaarde 2 is
echo 'de ingevoerde naam 1: '.$_SESSION['form1']['naam'].'<br>
en ingevoerde naam 2: '.$_SESSION['form1']['naam2'].'
<br>
<br>
<a href="?action=back">vorige pagina</a>';
break;
default: //als sessiewaarde iets anders is
echo 'error'.$_SESSION['form1']['page'];
break;
}
}
else //als de sessie niet is geset
{
?>
<form id="form1" name="form1" method="post" action="#">
Naam 1: <input name="naam" type="text" id="naam" value="<?=$_SESSION['form1']['naam'] ? $_SESSION['form1']['naam'] : '' ?>" /><br />
<input name="page" value="1" type="hidden" />
<input type="submit" name="Submit" value="Submit" />
</form>
<br>
<br>
<a href="?action=back">vorige pagina</a>
<?php
}
/*
*** --> Als je site gebruikt maakt van ?pagina=... moet je $_SERVER['PHP_SELF'] vervangen door de pagina waar dit script staat, bijvoorbeeld ?pagina=offerte
*/
?>
[/code]
Reacties
0