Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] usar datos de dos formularios

Estas en el tema de usar datos de dos formularios en el foro de PHP en Foros del Web. Buenas, ayúdenme con algo... estoy haciendo una especie de Test que va en dos partes. en la primera responden unas cosas y pasan a la ...
  #1 (permalink)  
Antiguo 03/06/2013, 15:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 11 años
Puntos: 1
usar datos de dos formularios

Buenas, ayúdenme con algo...

estoy haciendo una especie de Test que va en dos partes.

en la primera responden unas cosas y pasan a la segunda que también responden, luego de esta pasan a una pagina que les muestre su resultado.

la pregunta es ¿en la tercer pagina, como obtengo los datos de las otras dos?

les dejo los codigos


Primero, para definir el tamaño de la casa:

Código HTML:
<!DOCTYPE html>

<head>
<meta charset="utf-8" /> 
<title>Test IT</title>
</head>
<body>
<form action="validauno.php" method="post">
Su Empresa<br/>
En esta seccion definiremos el tamaño de su casa
<br/>
<br/>
<br/>
1.- ¿Cuantos focos tiene?<br/>
<select NAME="preguntauno_1">
<option value="one"> 10 o menos </option> 
<option value="two"> de 10 a 50 </option>
<option value="three"> 50 o mas </option>
<option value="four" selected> </option>
</select>
<br/>
2.- ¿Cuantas habitaciones tiene?<br/>
<select name="preguntauno_2">
<option name="uno" value="one"> 2 o menos </option>
<option name="dos" value="two"> de 3 a 5 </option>
<option name="tres" value="three"> mas de 5 </option>
<option name="cuatro" value="four" selected> </option>
</select>
<br/>
3.- ¿Tiene television?<br/>
SI<input type="radio" name="preguntauno_3" value="sitres">NO<input type="radio" name="preguntauno_3" value="notres"><br/>
<br/>

4.- ¿Tiene pensado cambiar de muebles?<br/>

<select name="preguntauno_4">
<option name="uno" value="one"> Si, en menos de 3 meses </option>
<option name="dos" value="two"> Si, dentro de 3 a 6 meses </option>
<option name="tres" value="three"> Si, dentro de los siguientes 12 meses  </option>
<option name="cuatro" value="four"> No, no tengo pensado cambiar de muebles </option>
<option name="cinco" value="five" selected> </option>
</select>
<br/>
<INPUT TYPE=submit NAME="OK" VALUE="Siguiente">
</form>
</body>
</html> 
Luego la validación, que no tenga campos sin contestar, y unas preguntas sobre el tema:

Código PHP:
<html>
<head>
<meta charset="utf-8" /> 
<title>Test IT</title>
</head>

<?php
$uno 
$_POST['preguntauno_1']; 
$dos $_POST['preguntauno_2'];
$tres $_POST['preguntauno_3'];
$cuatro $_POST['preguntauno_4'];

if (
$uno == 'four')
{
echo 
'<br>Conteste la pregunta 1<br/>';
}


else if (
$dos == 'four')
{
echo 
'<br>Conteste la preguta dos<br/>';
}
 
else if(empty(
$tres))
{
echo 
'<br>Conteste la pregunta tres<br/>';
}
else if (
$cuatro == 'five')
{
echo 
'<br>Conteste la pregunta cuatro<br/>';
}

else

{
echo
'<form action="resultados.php" method="post">';
echo
'<p>1.- ¿Tiene refrigerador?</p>';
echo
'<p>SI<input type="radio" name="preguntados_1" value="si">NO<input type="radio" name="preguntados_1" value="no"></p>';
echo
'<p>2.- ¿Tiene computadora?</p>';
echo
'<p>SI<input type="radio" name="preguntados_2" value="si">NO<input type="radio" name="preguntados_2" value="no"></p>';
echo
'<p>3.- ¿Cuenta con telefono?';
echo
'<p>SI<input type="radio" name="preguntados_3" value="si">NO<input type="radio" name="preguntados_3" value="no"></p>';
echo
'<p>4.- ¿Su casa esta asegurada? ';
echo
'<p>SI<input type="radio" name="preguntados_4" value="si">NO<input type="radio" name="preguntados_4" value="no"></p>';
echo
'<p>5.- ¿Tiene Patio?';
echo
'<p>SI<input type="radio" name="preguntados_5" value="si">NO<input type="radio" name="preguntados_5" value="no"></p>';
echo
'<p>6.- ¿En su colonia existen representantes?';
echo
'<p>SI<input type="radio" name="preguntados_6" value="si">NO<input type="radio" name="preguntados_6" value="no"></p>';
echo
'<INPUT TYPE=submit NAME="OK" VALUE="Resultado">';
}

?>
</html>
Luego, la validación de los campos, que todos estén contestados y un formulario para tener sus datos y que estos se envíen por correo...

Código PHP:
<html>
<head>
<meta charset="utf-8" /> 
<title>Test IT</title>
</head>

<?php
$uno 
$_POST['preguntados_1']; 
$dos $_POST['preguntados_2'];
$tres $_POST['preguntados_3'];
$cuatro $_POST['preguntados_4'];
$cinco $_POST['preguntados_5'];
$seis $_POST['preguntados_6'];

if(empty(
$uno))
{
echo 
'<br>No puede dejar la pregunta 1 sin contestar<br/>';
}
else if (empty(
$dos))
{
echo 
'<br>No puede dejar la pregunta 2 sin contestar<br/>';
}
else if (empty(
$tres))
{
echo 
'<br>No puede dejar la pregunta 3 sin contestar<br/>';
}
else if (empty(
$cuatro))
{
echo 
'<br>No puede dejar la pregunta 4 sin contestar<br/>';
}
else if (empty(
$cinco))
{
echo 
'<br>No puede dejar la pregunta 5 sin contestar<br/>';
}
else if (empty(
$seis))
{
echo 
'<br>No puede dejar la pregunta 6 sin contestar<br/>';
}
else
{
echo
'<form action="envio.php" method="post">';
echo
'<p>Su Nombre</p>';
echo
'<p><input type= "text" "name=nombre"></p>';
echo
'<p>Su Telefono (incluida la clave lada 10 digitos)</p>';
echo
'<p><input type= "text" "name=telefono"></p>';
echo
'<p>Su e-mail</p>';
echo
'<p><input type= "text" "name=correo"></p>';
echo
'<p>Su localidad</p>';
echo
'<p><select NAME="preguntauno_1">';
echo
'<option value="one"> Monterrey o Guadalajara </option>'
echo
'<option value="two"> DF o Area Metropolitana </option>';
echo
'<option value="three"> Otro Estado </option>';
echo
'<option value="four" selected>  </option>';
echo
'</select></p>';
echo
'<p><INPUT TYPE=submit NAME="OK" VALUE="Ver Resultado"></p>';
}
?>
</html>
Bueno pues en el archivo de envio.php que es el que hace falta, quiero que mande el mail(ya lo tengo con phpmail) pero que me indique los datos las preguntas que se le han hecho, cuantos focos cuantas habitaciones si tenene seguro, ademas de (del archivo primero) ademas de la información de si tiene cmputadora, si en su colonia tienen representantes, etc, etc (del archivo siguiente) ademas por supuesto de los datos del contacto el nombre el teléfono y lo que se le pide en el tercer archivo...


Estoy intentando hacerlo con sesiones... pero si alguien me puede orientar... Gracias!!!

Última edición por albemartinez; 03/06/2013 a las 17:52 Razón: je.! un error mio...
  #2 (permalink)  
Antiguo 03/06/2013, 20:57
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: usar datos de dos formularios

Solo tienes que ir guardando las respuestas en una session y listo

pones session_start() al principio del documento y luego de validar si contesto todo bien agregas por ejemplo:
Código PHP:
Ver original
  1. $_SESSION['preguntauno_1']=$_POST['preguntauno_1']
uno de esos por cada pregunta y al final las tendras ahi disponibles
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 04/06/2013, 12:03
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 11 años
Puntos: 1
Respuesta: usar datos de dos formularios

Cita:
Iniciado por NSD Ver Mensaje
Solo tienes que ir guardando las respuestas en una session y listo

pones session_start() al principio del documento y luego de validar si contesto todo bien agregas por ejemplo:
Código PHP:
Ver original
  1. $_SESSION['preguntauno_1']=$_POST['preguntauno_1']
uno de esos por cada pregunta y al final las tendras ahi disponibles
Gracias por la respuesta pero les comento que:

haciendo uso del session_star(), cuando declaro las variables, en ese caso 4 variables:

Código PHP:
Ver original
  1. $_SESSION['preguntauno_1']=$_POST['preguntauno_1'];
  2. $_SESSION['preguntauno_2']=$_POST['preguntauno_2'];
  3. $_SESSION['preguntados_1']=$_POST['preguntados_1'];

SIEMPRE me arroja el valor de la ultima variable... no me da el valor de las demas solo la ultima...

¿qué podrá ser?
  #4 (permalink)  
Antiguo 04/06/2013, 12:32
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 11 años
Puntos: 1
Respuesta: usar datos de dos formularios

Si los muestro por separado, en paginas distintas, me da la información, pero si junto las variables en una sola pagina me da solo la ultima...
  #5 (permalink)  
Antiguo 04/06/2013, 12:53
 
Fecha de Ingreso: mayo-2013
Mensajes: 55
Antigüedad: 11 años
Puntos: 1
Respuesta: usar datos de dos formularios

Me auto respondo, para generar la variable lo que hice fue:

$variable=$_POST[valor]

$_SESSION['var']=$variable

después de esto uso $_SESSION['var'] en cualquier lado que la ocupe...

Etiquetas: formulario, formularios, html, select, usar
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




La zona horaria es GMT -6. Ahora son las 01:09.