Foros del Web » Programando para Internet » PHP »

Duda: Varios formularios y una pagina que procese info en PHP

Estas en el tema de Duda: Varios formularios y una pagina que procese info en PHP en el foro de PHP en Foros del Web. Gente: Tengo una duda. He creado un formulario muy extenso, y me gustaría poder fragmentarlo, quedando: Form1. Html Form2.html Form3.html (Antes, los tres integraban la ...
  #1 (permalink)  
Antiguo 09/04/2008, 09:48
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 20 años, 10 meses
Puntos: 2
Duda: Varios formularios y una pagina que procese info en PHP

Gente:
Tengo una duda. He creado un formulario muy extenso, y me gustaría poder fragmentarlo, quedando:
Form1. Html
Form2.html
Form3.html
(Antes, los tres integraban la página form.html).
El problema, es que no sé que me convendría para que todos los datos llegasen a la página procesar.php, la cual, se encargaría de tomar los datos de los anteriores y, como su nombre lo dice, procesarlos. (Antes, los enviaba vía POST desde form.html a procesar.php. Para retomar uno de los datos, usaba, por ejemplo, $HTTP_POST_VARS["email"]…)
¿Qué debería hacer ahora?
Pregunto desde la ignorancia, pues no sé cómo se manejaría esto, habiendo formularios entre medio, y necesitando que lleguen tanto los datos enviados por el primer formulario como por el último a la página procesar. (Es sólo por estética que he decidido dividirlo. Los otros formularios no utilizarán los datos del formulario anterior. Solo, todos deben enviar la info a la página procesar.php.)
Por favor, necesitaría algún consejo, forma o que me dijeran cómo hacerlo, sin que se pierda ningún dato.
Gracias!
  #2 (permalink)  
Antiguo 09/04/2008, 09:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Duda: Varios formularios y una pagina que procese info en PHP

Hola Dago,

Tienes dos formas de hacerlo, la sencilla es ocupando HTML simple y CSS, lo que haces es divides tu formulario con <divs>:
Código HTML:
<form>
     <div id="parte1">
           // controles
     </div>
     <div id="parte2">
           // controles
     </div>
     <div id="parte3">
          // controles
     </div>
</form> 
Luego desde JavaScript controlas el formulario que tienes activo, y los vas mostrando/ocultando y "simulas" el cambiar de pagina (piensa como un Wizard de configuración donde hasta abajo te ponen los botones de anterior / siguiente).

De esa forma podrías hacer el mismo post y a proceso.php y simular el "avanzar" entre "hojas".

La otra forma es hacer lo que propones, crear varias paginas, formulario1.php, formulario2.php, etc. y cada que te cambies de formulario, guardas los datos que te vienen de $_POST en una variable de sesión para que lo puedas leer todo desde el final, el proceso seria algo así:

1.- Muestras formulario1.php
2.- Envías datos a formulario2.php
3.- En formulario2.php haces algo así:
Código PHP:
session_start();
$_SESSION['form1'] = $_POST// guardas los datos de POST 
4.- Muestras formulario2.php
5.- Repites lo mismo por cada "hoja"
6.- Al llegar a proceso.php rescatas todos tus "forms" anteriores:
Código PHP:
session_start();
$datosForm1 $_SESSION['form1'];
$datosForm2 $_SESSION['form2'];
// etc. 
Así ya podrías procesar todos los datos.

Saludos.
  #3 (permalink)  
Antiguo 09/04/2008, 10:01
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Duda: Varios formularios y una pagina que procese info en PHP

Hola Dago,

Hay varias formas de lograr eso:


En el accion del primer formualrio le pones la página del segundo fomulario

accion="form2.php" (nota quer deben ser páginas php no html)

En el segundo formulario incluyes todos los campos del primer formulario pero ocultos (para que no los puedan modificar).

Veamos un ejemplo:

si en el primer formulario tenias el campo nombre asi:

Código HTML:
<input type="text" name="nombre" id="nombre" /> 
En el form2.php debe figurar así:

Código HTML:
<input name="nombre" type="hidden" value="<?= $_POST['nombre'] ?>" /> 
Repite ese procedimiento con todos los campos y tendrás en el segundo formulario todos los campos del primero con sus valores pero ocultos.

Ahora en el tercer formulario deberías incluir de manera oculta todos los campos del primero y del segundo.
Obviamente van a ser muchos... pero sirve.

Otra opción es usar sesiones o cookies.
Saludos:)
  #4 (permalink)  
Antiguo 09/04/2008, 10:02
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Duda: Varios formularios y una pagina que procese info en PHP

Mientras estaba escribiendo lo de arriba GatorV envió otras alternativas que me perecen excelentes sobre todo el de ocultar capas y mostrar otras.

SAludos!
  #5 (permalink)  
Antiguo 09/04/2008, 10:07
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 20 años, 10 meses
Puntos: 2
Re: Duda: Varios formularios y una pagina que procese info en PHP

De corazón… Mil gracias! Que sería de mi vida sin Ustedes! :D
Nuevamente… Gracias, por cada una de las contribuciones que hacen a diario y por todo el esfuerzo vertido en sus respuestas!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:48.