Foros del Web » Programando para Internet » PHP »

3 if(isset(...)){

Estas en el tema de 3 if(isset(...)){ en el foro de PHP en Foros del Web. Quiero hacer un formulario que al darle a "Segundo paso" tengo otro formulario y al darle a "Enviar" lo envie a la base de dato, ...
  #1 (permalink)  
Antiguo 22/12/2012, 04:29
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 11 meses
Puntos: 2
3 if(isset(...)){

Quiero hacer un formulario que al darle a "Segundo paso" tengo otro formulario y al darle a "Enviar" lo envie a la base de dato, el problema esque no se llevar los datos del primer formulario a enviarlo a la base de dato.

A continuacion una mejor explicacion

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['enviar'])){
  3. echo "El mejor foro es $_POST[foros]
  4. <form action='' method='post'>
  5. <input name='web' placeholder='¿Mejor web?'>
  6. <input name='enviar2' type='submit' values='Enviarlo a la base de dato'>
  7. </form>";
  8. }else{
  9. if(isset($_POST['enviar2'])){
  10. echo "El mejor foro es $_POST[foros]
  11. El mejor web es $_POST[web]";
  12. mysqli_query($conectar "INSERT INTO .........(.............) VALUES ('.......','........')");
  13. }else{
  14. echo "<form action='' method='post'>
  15. <input name='foros' placeholder='¿Mejor foro?'>
  16. <input name='enviar' type='submit' value='Pasar al segundo paso'>
  17. </form>";
  18. }}
  19. ?>

Este codigo lo que hace esque al darle a "Pasar al segundo paso" se ejecuta el siguiente codigo
Código PHP:
Ver original
  1. echo "El mejor foro es $_POST[foros]
  2. <form action='' method='post'>
  3. <input name='web' placeholder='¿Mejor web?'>
  4. <input name='enviar2' type='submit' values='Enviarlo a la base de dato'>
  5. </form>";

Y al darle a "Enviarlo a la base de dato" se ejecuta
Código PHP:
Ver original
  1. echo "El mejor foro es $_POST[foros]
  2. El mejor web es $_POST[web]";
  3. mysqli_query($conectar "INSERT INTO .........(.............) VALUES ('.......','........')");

Pero la duda es ¿Como puedo recojer los 2 datos de los formulario?
Yo se recojer el ultimo dato que ha enviado con un $_POST['web'] pero y el primer dato que envie que fue "¿Mejor foro?" ¿Como?

He pensado hacer una session y guardar el valor del valor foros pero me sale error
  #2 (permalink)  
Antiguo 22/12/2012, 06:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: 3 if(isset(...)){

Puedes imprimir el valor de los datos recibidos del primer formulario en el segundo usando campos ocultos (input type="hidden") o guardarlos en una variable de sesión.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/12/2012, 07:14
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: 3 if(isset(...)){

Lo de type="hidden" lo pense lo que pasa esque como el valor son codigos html muy grandes pues como tiene " puedes pasa esto

value="$_POST[e]"

Y $_POST[e] es x ejemplo
Código HTML:
Ver original
  1. <b>Jaja</b><div id="pli">Bienvenido</div>
pues sale se muestra parte del codigo porque el primer " del codigo lo cierra.

y lo de la session me da error porque dice que no se puede crear en esa parte del codigo una session ni una cookie
  #4 (permalink)  
Antiguo 22/12/2012, 07:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: 3 if(isset(...)){

Puedes usar htmlspecialchars() para poder insertar esos datos en el value del campo oculto.

Con la sesión, solo tienes que iniciarla antes de que se envíen datos al navegador.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: formulario, mysql
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 14:05.