Programación Web y Scripting > PHP
No Perder Datos Del Formulario Al Ir A Otro
sheilac:
Hola disculpen este preguntando tanto.
Estuve buscando en la web y por ahora no encontre nada similar.
Tengo que llenar tres formularios, luego de llenar uno con el boton aceptar me lleva al otro formulario y asi sucesivamente.
Esto ya esta andando bien ahora lo que se me pide es que si por ejemplo estoy en el segundo formulario y quiero volver al primero no perder los datos de este segundo formulario y asi con el tercero si vuelvo al segundo o primer formulario no perder los datos de ningun formulario. :o
Alguien conoce algun ejemplo o explicacion en la web?? que pueda leer?
Porque voy a paginas diferentes y debo mantener los datos :(
Desde ya muchas gracias.
Mollense:
Busca sobre el uso de "sesiones". En este mismo foro ya hay mucho sobre el tema.
Un saludo
grandzam:
Hola, pues yo hice algo asi pero lo que hice fué esconder o mostrar formularios dependiendo del boton que presionara... eso lo hice con javascript...mediante capas con las <div>...
Por ejemplo puedes tener algo como esto:
--- Código: Text ---<form id="formulario1" name"algo"><div id="cuestionario1"> <table> ........... </table></div><div id="cuestionario2"> <table> ........... </table></div></form>
En el método onload en la seccion del body puedas mandar llamar a un método (en OnLoad) en el que dispongas que divs vas a mostar inicialmente... incluso lo puedes hacer con los mismos botones(que botones aparecerán inicialmente)...
--- Código: Text ---<script language="Javascript">function mostrar(nombreCapa){document.getElementById(nombreCapa).style.visibility="visible";}function ocultar(nombreCapa){document.getElementById(nombreCapa).style.visibility="hidden";}</script>
Cada función recibe el nombre de cada capa y bueno pues puedes estar ahi jugando con eso...
para los botones x ejemplo, nadamás ponles un id y con esas mismas funciones los puedes ocultar o mostrar...
<input type="button" id="boton1">
De esa manera puedes estar mostrando partes del formulario sin que estes mandando los datos y perdiéndolos... por supuesto que tienes que estar haciéndo validaciones y después cuando todo este bien, mandar llamar a los métodos de ocultación y de desplegado de las otras partes...
No se si me haya explicado bien... si tienes dudas ps postea de nuevo... o tal vez alguién tiene una mejor solución... eso que te digo nadamás es una idea rápida de lo que puedes hacer pero ps puedes hacer otras cosas como guardar los datos en sessiones, o en campos ocultos que mandas de una página a otra y después los recivas y los muestre, etc....
Ha si te vas por esta opcion, los botones para ir de un lado a otro no los pongas con submit sino eso haría que mandaras datos al servidor y pierdes los datos... usa botones como los que te puse arriba más o menos asi:
<input type="button" id="boton1" OnClick"Validar()">
en el método de validar ps validas, jaja... y si todo esta bien mandas llamar a cualquiera de las funciones mostrar u ocultar, segun quieras hacer... ya cuando vayas a mandar todo el formulario entonces si usa submit y envias todo el formulario completo... al enviarlo envias todos los datos y los recibes en el servidor, weno ya tu has de saber... ojalá te sirva... adios...
Altareum:
Coincido con grandzam.. aunque le haría este pequeño cambio:
document.getElementById(nombreCapa).style.visibility="visible";
por:
document.getElementById(nombreCapa).style.display="block";
y para ocultarlo:
document.getElementById(nombreCapa).style.display="none";
Saludos.
sheilac:
antes que nada muchas gracias por contestarme.
Sigo sin poder hacer la session, se ve que algo mal hago.
Para el loguin del sitio utilice session y esos datos si me los guarda en la pagina.
Ahora para estos formularios que estoy tratando de guardar las variables en session ahora:
inicio la session
--- Código: Text --- session_start(); y luego de la coneccion con la base de datos y demas declaro las variables de sesion
--- Código: Text --- if ($row = $bd->get_next_row()){ $_SESSION['sqmeters'] = $row['SqMeters']; $_SESSION['floor'] = $row['Floor']; $_SESSION['price'] = $row['Price']; $_SESSION['bedrooms'] = $row['Bedrooms']; $_SESSION['description'] = $row['Description']; } pero no no hay caso no me las carga.
en el boton pongo esto
--- Código: Text --- <input name="price" type="text" class="Field" id="price2" style="width:167px" value='<? if($_POST['idProperty']!="") echo $row['Price']; else echo $_SESSION['price'];?>' /></td> voy pasando de un formulario a otro y voy poniendo las variables en un input type hidden (las variables del formulario anterior)
Navegación
[#] Página Siguiente
Ir a la versión completa