Ogni volta che ricarichi la pagina (visualizzando di volta in volta pagina1(), pagina2()...) perdi i dati passati nelle pagine precedenti.
Per evitare questo in ogni nuova pagina dei riportare (magari in maniera nascosta, o memorizzandoli in un array di sessione) i dati letti in precedenza.
Ti spiego con un esempio:
Codice PHP:
<?php
$pagina = (isset($_GET['pagina']) && $_GET['pagina'] != '') ? $_GET['pagina'] : '1';
switch ($pagina) {
case '1' :
pagina1();
break;
case '2' :
pagina2();
break;
case '3' :
pagina3();
break;
case 'update' :
update();
break;
}
?>
<?php
function pagina1(){
?>
<form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=2"; ?>" method="post">
<table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
<td align="center" >Nome: <input name="nome" type="text" id="nome" size="30"></td>
<td align="center">Cognome: <input name="cognome" type="text" id="cognome" size="30"></td>
<td width="75" align="center"> <input name="pagina2" type="submit" id="pagina2" value="pagina 2"></td>
</table>
</form>
<?php
}
?>
<?php
// QUI HAI I DATI PASSATI DA PAGINA1 IN $_POST
function pagina2(){
?>
<form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=3"; ?>" method="post">
<table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
<td align="center" >Telefono: <input name="telefono" type="text" id="telefono" size="10"></td>
<td align="center">Fax: <input name="fax" type="text" id="fax" size="10"></td>
<td width="75" align="center"> <input name="pagina3" type="submit" id="pagina3" value="pagina 3"></td>
</table>
</form>
<?php
}
?>
<?php
// QUI PERDI I DATI PASSATI DA PAGINA1
// MA HAI I DATI PASSATI DA PAGINA2 IN $_POST
function pagina3(){
$telefono = $_POST['telefono'];
$fax = $_POST['fax'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=update"; ?>" method="post">
<table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
<td align="center" >email: <input name="email" type="text" id="email" size="10"></td>
<tr>
<td align="right"></td>
<td align="right"></td>
<td width="75" align="center">
<input name="Update" type="submit" id="Update" value="pagina modifica"></td>
</tr>
</table>
</form>
<?php
}
?>
<?php
// QUI PERDI TUTTO TRANNE I DATI PASSATI DA PAGINA3
function update(){
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$telefono = $_POST['telefono'];
$fax = $_POST['fax'];
$email = $_POST['email'];
echo $nome;
echo $cognome;
echo $telefono;
echo $fax;
echo $email;
}
?>
Ora per memorizzare il tutto dovresti fare:
Codice PHP:
session_start();
$pagina = (isset($_GET['pagina']) && $_GET['pagina'] != '') ? $_GET['pagina'] : '1';
switch ($pagina) {
case '1' :
pagina1();
break;
case '2' :
pagina2();
break;
case '3' :
pagina3();
break;
case 'update' :
update();
break;
}
function pagina1() {
echo "
<form ...>
...
</form>
"
}
function pagina2() {
$_SESSION['nome'] = $_POST['nome'];
$_SESSION['cognome'] = $_POST['cognome'];
echo "
<form ...>
...
</form>
"
}
function pagina3() {
$_SESSION['telefono'] = $_POST['telefono'];
$_SESSION['fax'] = $_POST['fax'];
echo "
<form ...>
...
</form>
"
}
function update(){
$nome = $_SESSION['nome'];
$cognome = $_SESSION['cognome'];
$telefono = $_SESSION['telefono'];
$fax = $_SESSION['fax'];
$email = $_POST['email'];
echo $nome;
echo $cognome;
echo $telefono;
echo $fax;
echo $email;
}
tutto qua...