ciao
dai un occhio a quello che ho buttato giù, mi sembra che funzioni
mi sono limitato a due dati per pagina e 4 pagine (l'ultima solo per controllo e vedere i dati) quindi tieni presente che (come immagino) se sono molti di più penso che dovrai ricorrere agli array di array, o alle variabili di variabile
e vedere di raccoglie i controlli in funzioni altrimenti lo script diventa una bibbia.
comunque ho seguito questo principio
se passando da una pagina alla successiva si sono commessi errori non vine visualizzato il form e non si può proseguire ma solo tornare indietro
solo se si è fatto tutto giusto si mostra il form e si prosegue.
comunque dagli un occhio pensando che è molto perfettibile (e di molto)
pagina 1
PHP:
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
if(isset($_SESSION['dato_1'])){
$dato_1=$_SESSION['dato_1'];
}else{
$dato_1="";
}
if(isset($_SESSION['dato_2'])){
$dato_2=$_SESSION['dato_2'];
}else{
$dato_2="";
}
?>
PAGINA 1<br>
<form action="000002.php?pg=1" method="post">
dato 1 <input type="text" name="dato_1" value="<?php echo $dato_1; ?>"><br>
dato 2 <input type="text" name="dato_2" value="<?php echo $dato_2; ?>"><br>
<input type="submit" name="pag_1" value="Invia">
</form>
</body>
</html>
pagina 2
PHP:
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
/* controlli per i dati provenienti dalla pagina 1*/
if((isset($_POST['dato_1']) && trim($_POST['dato_1'])!="") && $_GET['pg']==1){
//provengo dalla pagina 1 e tutti i dati inseriti
$_SESSION['dato_1']=$_POST['dato_1'];
$errore1="";
}else{
if($_GET['pg']==3){
//provengo dalla pagina 3 quindi sulla 1 non errori
$errore1="";
}else{
//provengo dalla 1 e non ho inserito il dato
$errore1="non hai inserito il dato 1<br>";
}
}
if((isset($_POST['dato_2']) && trim($_POST['dato_2'])!="") && $_GET['pg']==1){
//come sopra
$_SESSION['dato_2']=$_POST['dato_2'];
$errore2="";
}else{
if($_GET['pg']==3){
$errore1="";
}else{
$errore1="non hai inserito il dato 2<br>";
}
}
if($errore1!="" || $errore2!=""){
//non inseriti tutti i dati, mostro quali e faccio ripetere
echo "$errore1 $errore2";
?>
<a href="000001.php?pg=2">ripeti</a>
<?php
}else{
//l'inserimento nella pagina 1 è OK, mostro e faccio inserire quelli della 2
echo "insetito dato 1 ".$_SESSION['dato_1']."<br>";
echo "insetito dato 2 ".$_SESSION['dato_2']."<br>";
echo "prosegui<br>";
/*sono tornato indieteo dalla pagina 3*/
if(isset($_SESSION['dato_3'])){
//il dato era stato inserito è quindi lo metto nel value del campo di input
$dato_3=$_SESSION['dato_3'];
}else{
$dato_3="";
}
if(isset($_SESSION['dato_4'])){
$dato_4=$_SESSION['dato_4'];
}else{
$dato_4="";
}
?>
PAGINA 2<br>
<form action="000003.php?pg=2" method="post">
dato 3 <input type="text" name="dato_3" value="<?php echo $dato_3; ?>"><br>
dato 4 <input type="text" name="dato_4" value="<?php echo $dato_4; ?>"><br>
<input type="submit" name="pag_2" value="Invia">
</form>
<?php
}
?>
</body>
</html>
pagina 3
PHP:
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
if((isset($_POST['dato_3']) && trim($_POST['dato_3'])!="") && $_GET['pg']==2){
$_SESSION['dato_3']=$_POST['dato_3'];
$errore1="";
}else{
if($_GET['pg']==4){
$errore1="";
}else{
$errore1="non hai inserito il dato 3<br>";
}
}
if((isset($_POST['dato_4']) && trim($_POST['dato_4'])!="") && $_GET['pg']==2){
$_SESSION['dato_4']=$_POST['dato_4'];
$errore2="";
}else{
if($_GET['pg']==4){
$errore1="";
}else{
$errore1="non hai inserito il dato 4<br>";
}
}
if($errore1!="" || $errore2!=""){
echo "$errore1 $errore2";
?>
<a href="000002.php?pg=3">ripeti</a>
<?php
}else{
echo "insetito dato 1 ".$_SESSION['dato_1']."<br>";
echo "insetito dato 2 ".$_SESSION['dato_2']."<br>";
echo "insetito dato 3 ".$_SESSION['dato_3']."<br>";
echo "insetito dato 4 ".$_SESSION['dato_4']."<br>";
echo "prosegui<br>";
if(isset($_SESSION['dato_5'])){
$dato_5=$_SESSION['dato_5'];
}else{
$dato_5="";
}
if(isset($_SESSION['dato_6'])){
$dato_6=$_SESSION['dato_6'];
}else{
$dato_6="";
}
?>
PAGINA 3<br>
<form action="000004.php?pg=3" method="post">
dato 5 <input type="text" name="dato_5" value="<?php echo $dato_5; ?>"><br>
dato 6 <input type="text" name="dato_6" value="<?php echo $dato_6; ?>"><br>
<input type="submit" name="pag_3" value="Invia">
</form>
<?php
}
?>
</body>
</html>
pagina 4
PHP:
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php
if((isset($_POST['dato_5']) && trim($_POST['dato_5'])!="") && $_GET['pg']==3){
$_SESSION['dato_5']=$_POST['dato_5'];
$errore1="";
}else{
$errore1="non hai inserito il dato 5<br>";
}
if((isset($_POST['dato_6']) && trim($_POST['dato_6'])!="") && $_GET['pg']==3){
$_SESSION['dato_6']=$_POST['dato_6'];
$errore2="";
}else{
$errore2="non hai inserito il dato 6<br>";
}
if($errore1=="" && $errore2==""){
echo "FINE PAGINA 4<br>";
echo "insetito dato 1 ".$_SESSION['dato_1']."<br>";
echo "insetito dato 2 ".$_SESSION['dato_2']."<br>";
echo "insetito dato 3 ".$_SESSION['dato_3']."<br>";
echo "insetito dato 4 ".$_SESSION['dato_4']."<br>";
echo "insetito dato 5 ".$_SESSION['dato_5']."<br>";
echo "insetito dato 6 ".$_SESSION['dato_6']."<br>";
$_SESSION=array();
?>
<a href="000001.php">per riprovare da 1</a></body>
<?php
}else{
echo "$errore1 $errore2";
?>
<a href="000003.php?pg=4">ripeti</a>
<?php
}
?>
</html>
intanto provalo così come è, secondo poi ci sone degli altri accorgimenti da prendere
sappimi dire