Cita: En la pagina 1 envías a la pagina 2, por post y en la página 2 envías a la pagina 3 por post el formulario de la página 2 + los hidden de la página 1 y así sucesivamente y en la última haces la inserción en la bd, arrastrando todo..
y cuando quieres volver hacia atras como harias? mas campos hidden?
osea ejemplo:
Pagina 1 Datos Personales:
Nombre, Apellido, Telefono, Direccion, Usuario, Conraseña, Edad, Acepta terminos
Pagina 2 Intereses:
37 categorias posibles tipo checkbox, radio, select, etc.
Pagina 3 Productos
54 Productos seleccionables.
Pagina 4 Confirmacion de datos
Nombre, Apellido, Telefono, Direccion, Usuario, Conraseña, Edad, Acepta terminos
37 categorias
54 Productos
.........
en mi ejemplo tendrias que trabajar con 99 (si no conte mal) campos hidden
![borracho](http://static.forosdelweb.com/fdwtheme/images/smilies/borracho.png)
eso son 99 variables que se prosesan cada vez si quieres que valla y vuelva, la forma mas practica para manejarlo es con seciones.
eso esta bien interesante XD
sin embargo me antoje de combinar mi ejemplo con campos hidden y la funcion malevola con lo cual queda bastante optimizado y facil de usar XD
Código PHP:
Ver original<?php
echo('<html><head><title>Trabajo con Seciones</title></head><body>');
if(isset($_GET[Prosesar
]) && $_POST[Pagina
]=='0'){ //Aca prosesas todos los datos de los foirmularios
echo<<<HTML
<hr />
Los datos son: Nombre: $_POST[Nombre], Apellido:$_POST[Apellido], Telefono:$_POST[Telefono]
<hr />
<a href="Pasos.php">Probar de nuevo?</a>
HTML;
} else {
$_SESSION[Paso]=$_POST[Pagina];
} else {
$_SESSION[Paso]=1;
}
switch ($_GET[Paso]){
//Segun el paso guardas los datos correspondientes a ese formulario
case '1': $_SESSION[Nombre]=$_POST[Nombre]; break;
case '2': $_SESSION[Apellido]=$_POST[Apellido]; break;
case '3': $_SESSION[Telefono]=$_POST[Telefono]; break;
}
switch ($_SESSION[Paso]){
//Muestras el formulario correspondiaente paar cada paso
//-------------------------------->>>
case'1':
echo <<<HTML
<input type="button" onClick="Pagina.value='2';document.Formulario.submit();" value="Paso 2" />
<hr />
<form action="Pasos.php?Paso=1&Almacenar=true" method="post" name="Formulario" id="Formulario">
Nombre:<input type="text" size="20" value="$_SESSION[Nombre]" name="Nombre" id="Nombre"/>
<input type="hidden" name="Pagina" id="Pagina">
</form>
HTML;
break;
//-------------------------------->>>
case'2':
echo <<<HTML
<input type="button" onClick="Pagina.value='1';document.Formulario.submit();" value="Paso 1" />
<input type="button" onClick="Pagina.value='3';document.Formulario.submit();" value="Paso 3" />
<hr />
<form action="Pasos.php?Paso=2&Almacenar=true" method="post" name="Formulario" id="Formulario">
Apellido:<input type="text" size="20" value="$_SESSION[Apellido]" name="Apellido" id="Apellido"/>
<input type="hidden" name="Pagina" id="Pagina">
</form>
HTML;
break;
//-------------------------------->>>
case'3':
echo <<<HTML
<input type="button" onClick="Pagina.value='2';document.Formulario.submit();" value="Paso 2" />
<input type="button" onClick="Pagina.value='4';document.Formulario.submit();" value="Paso 4" />
<hr />
<form action="Pasos.php?Paso=3&Almacenar=true" method="post" name="Formulario" id="Formulario">
Telefono:<input type="text" size="20" value="$_SESSION[Telefono]" name="Telefono" id="Telefono"/>
<input type="hidden" name="Pagina" id="Pagina">
</form>
HTML;
break;
//-------------------------------->>>
case'4':
echo <<<HTML
<input type="button" onClick="Pagina.value='3';document.Formulario.submit();" value="Paso 3" />
<input type="button" onClick="Pagina.value='0';document.Formulario.submit();" value="Guardar" />
<hr />
<form action="Pasos.php?Paso=4&Prosesar=true" method="post" name="Formulario" id="Formulario">
Nombre:<input type="text" size="20" value="$_SESSION[Nombre]" name="Nombre" id="Nombre"/><br />
Apellido:<input type="text" size="20" value="$_SESSION[Apellido]" name="Apellido" id="Apellido"/><br />
Telefono:<input type="text" size="20" value="$_SESSION[Telefono]" name="Telefono" id="Telefono"/><br />
<input type="hidden" name="Pagina" id="Pagina">
</form>
HTML;
break;
//-------------------------------->>>
} }
echo('</body></html>');
?>
no es por desmerecer el esfuerzo pero podrias hojear esto:
http://www.jankoatwarpspeed.com/exam...orm_to_wizard/
sin duda es la forma mas eficientes de trabajar con pasos.
(debes hacer click en el boton rojo para ver su funcionamiento)