Foros del Web » Programando para Internet » PHP »

Recordar datos en formulario php al recibir error

Estas en el tema de Recordar datos en formulario php al recibir error en el foro de PHP en Foros del Web. Hola a todos! Tengo un formulario de php con datos (nombre, telefono, mail, titulo, mensaje y captcha). Al poner el captcha mal, o cualquier otro ...
  #1 (permalink)  
Antiguo 22/12/2011, 06:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta Recordar datos en formulario php al recibir error

Hola a todos!

Tengo un formulario de php con datos (nombre, telefono, mail, titulo, mensaje y captcha). Al poner el captcha mal, o cualquier otro dato.. te da error, carga la pagina y el formulario se queda en blanco. Lo que quisiera es que me tire error, y con los datos introducidos correctamente no los elimine, me esplico? pues si me he confundido en el captcha, que solo este el captcha vacio, y todo lo demas rellenado... me esplico? jeje pues eso!

Gracias a todos!

Felizes fiestas!
  #2 (permalink)  
Antiguo 22/12/2011, 08:23
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: Recordar datos en formulario php al recibir error

Código HTML:
Ver original
  1. <input type="text" name="nombre" value=<?= $_POST['nombre'] ?> />
__________________
Páginas web de alta calidad y hechas a la medida.
  #3 (permalink)  
Antiguo 22/12/2011, 08:24
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Recordar datos en formulario php al recibir error

Recupera el valor del $_POST par el elemento del formulario.

Ej, si tienes

Código HTML:
Ver original
  1. <input type="text" name="user">

Puedes poner:
Código PHP:
if(isset($_POST['user'])) $user $_POST['user'];
else 
$user ""

echo '<input type="text" name="user" value="'.$user.'">'
Algo así deberia valerte

Nota: el if(isset..... es para que no te dé un warning si no se ha enviado el form antes :)
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 22/12/2011, 17:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Recordar datos en formulario php al recibir error

pues al final, a pesar de ver tantas opciones (guardar en las cookies del explorador, usar javascrypt, ajax y jquery, "opcion" " $_POST['gracias'] "..) al final me he decantado por la mas sencilla, y parece efectiva, pues soy novato en el tema, y ya mas o menos me a funcionado gracias a todos vosotros!!!

tras varios intentos, puse lo siguiente:

Código PHP:
Ver original
  1. <form action="contacto" method="post" id="contactform">
  2.                             <p><label>Nombre:</label>
  3.                             <input type="text" name="name" class="input" value=<?=$_POST['name']?>/>    </p>    
  4.                
  5.                             <p> <label>Email:</label>
  6.                             <input type="text" name="email" class="input" value=<?=$_POST['email']?>/>  </p>
  7.                
  8.                             <p><label>Teléfono:</label>
  9.                             <input type="text" name="phone" class="input" value=<?=$_POST['phone']?>/>  </p>
  10.                    
  11.                             <p> <label>Título del mensaje:</label>
  12.                             <select name="title" class='subject' value=<?=$_POST['title']?>/>
  13.  
  14. <p><label>Mensaje:</label>
  15.                               <textarea name="message" rows="" cols="" value=<?=$_POST['message']?>/></textarea>
  16.                             </p>


Si, gracias a vosotros ya he conseguido que me recuerde los datos (weee graciaaas!!!) pero dos apuntes:

1- Cuando cargo la pagina, delante de los campos me interpone una "/" y cada vez que cargo y tengo un error de un dato, me lo escribe detras de lo que tenga escrito. Eejemplo: Nombre: / (lo dejamos en blanco y doy a enviar) = Nombre: /(ponemos un nombre cualquiera)Juanito (enviar) = Nombre: /Juanito//.. Y asi sucesivamente.

2- El campo de texto mensaje, no me lo recuerda... que ocurre? lo puse mal?

gracias por todos, la verdad me habeis ayudado muchissimo!!!
  #5 (permalink)  
Antiguo 22/12/2011, 20:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Recordar datos en formulario php al recibir error

- En los value=... estás olvidando poner las comillas: value="algún valor"
- No uses <?=, aunque te cueste más trabajo usa <?php echo
- Como ya te dijo Eleazan, no es conveniente llenar los value directamente de $_POST, te puede generar algunos errores
- El campo textarea no tiene un atributo value... el formato es: <textarea ... atributos ...>Aquí el valor!!!</textarea>
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 23/12/2011, 08:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Recordar datos en formulario php al recibir error

ok, lo he modificado tal y con vuestras indicaciones. Pero el campo "mnesaje" y "titulo" sigue sin recordarlos, todo lo demas esta bien.


Código PHP:
Ver original
  1. <div id="form">
  2. <?php if($msg) { ?><p><span class="info"><?php echo $msg; ?></span></p><?php } ?>
  3. <?php if($msgerror) { ?><p><span class="error"><?php echo $msgerror; ?></span></p><?php } ?>
  4. <?php if(!isset($status) || $status=="NOTOK"){ ?>
  5. <form action="contacto" method="post" id="contactform">
  6. <p><label>Nombre:</label>
  7. <input type="text" name="name" class="input" value="<?php echo $_POST['name']?>"/> </p>
  8.  
  9. <p> <label>Email:</label>
  10. <input type="text" name="email" class="input" value="<?php echo $_POST['email']?>"/> </p>
  11.  
  12. <p><label>Teléfono:</label>
  13. <input type="text" name="phone" class="input" value="<?php echo $_POST['phone']?>"/> </p>
  14.  
  15. <p> <label>Título del mensaje:</label>
  16. <select name="title" class='subject' value="<?php echo $_POST['title']?>">
  17. <option value="error">-- seleccione un título --</option>
  18. <option value="opt1">opcion1</option>
  19. <option value="opt2">opcion2</option>>
  20. <option value="otros">-- Otros (especifique) --</option>
  21. </select>
  22. <p>
  23. <label>&nbsp;</label>
  24. <input type="text" name="otros2" class='otros2' style='display:none;'/>
  25. </p>
  26. <p><label>Mensaje:</label>
  27. <textarea name="message" rows="" cols=""/><input value="<?php echo $_POST['message']?>"/></textarea>
  28. </p>
  29.  
  30. <div class="indent">
  31. <input type="hidden" name="Submit" value="Submit" />
  32. <input name="submit" class="submitbutton" type="image" src="images/submit_button.jpg" value="Send Message"/>
  33. </div>
  34. </form>
  35. <?php } ?>

Tambien cabe decir que esta vez, en vez de poner "/" (las barras) pone: <input value=""/> pero unicamente en el campo del mensaje, en lo demas esta vacio!

Gracias por molestaros!
  #7 (permalink)  
Antiguo 23/12/2011, 09:01
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: Recordar datos en formulario php al recibir error

cambia esto:
Código HTML:
Ver original
  1. <textarea name="message" rows="" cols=""/><input value="<?php echo $_POST['message']?>"/></textarea>
por esto:
Código HTML:
Ver original
  1. <textarea name="message" rows="" cols=""><?php echo $_POST['message']?></textarea>
__________________
Páginas web de alta calidad y hechas a la medida.
  #8 (permalink)  
Antiguo 23/12/2011, 09:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Recordar datos en formulario php al recibir error

ok, muchas gracias el_quick! Ahora lo recuerda todo, menos el titulo del mensaje.. esta mal puesto el valor? gracias!
  #9 (permalink)  
Antiguo 23/12/2011, 10:45
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Recordar datos en formulario php al recibir error

Para el título, lo que tienes que hacer es agregar un selected al option

Código HTML:
Ver original
  1. <option selected="selected">

Cambiar el value no hará nada.

Saludos
  #10 (permalink)  
Antiguo 23/12/2011, 11:56
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Recordar datos en formulario php al recibir error

pues me da problemas si agrego el selected. La recuerda, pero al recargar el formulario me selecciona la segunda opcion por defecto, y asi sucesivamente. E"otro" se abre un desplegable para escribir el titulo.. pero añadiendo este valor, no aparece!

he probado de las siguientes maneras:

Código PHP:
Ver original
  1. <p> <label>Título del mensaje:</label>
  2.                             <select name="title" class='subject'><option selected="selected"><?php echo $_POST['title']?>
  3.                                 <option value="error">-- seleccione un título --</option>
  4.                                 <option value="opt1">opcion1<option selected="selected"></option>
  5.                                 <option value="opt2">opcion2<option selected="selected"></option>
  6.                                 <option value="opt3">opcion3<option selected="selected"></option>
  7.                                 <option value="otros">-- Otros (especifique) --<option selected="selected"></option>
  8.                             </select>
  9.                             <p>

y tambien de esta otra:

Código PHP:
Ver original
  1. <p> <label>Título del mensaje:</label>
  2.                             <select name="title" class='subject'><?php echo $_POST['title']?>
  3.                                 <option value="error">-- seleccione un título --</option>
  4.                                 <option selected="opt1">opcion1<option selected="selected"></option>
  5.                                 <option selected="opt2">opcion2<option selected="selected"></option>
  6.                                 <option selected="opt3">opcion3<option selected="selected"></option>
  7.                                 <option selected="otros">-- Otros (especifique) --<option selected="selected"></option>
  8.                             </select>
  9.                             <p>

y tampoco funciona!! gracias a todos y por molestaros!
  #11 (permalink)  
Antiguo 23/12/2011, 12:35
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 67
Respuesta: Recordar datos en formulario php al recibir error

Código HTML:
Ver original
  1. <select name="nombre_select">
  2.         <option value="1" <?php echo ($_POST['nombre_select'] == '1' ? 'selected' : '') ?> >valor 1</option>
  3.         <option value="2" <?php echo ($_POST['nombre_select'] == '2' ? 'selected' : '') ?> >valor 2</option>

Hola! acá te dejo un ejemplo para que te guíes, sin embargo te recomiendo que aprendas html, pues te falta mucho, no es muy complicado, si te gusta el desarrollo web, seguro que rápido lo dominarás a la perfección.

Saludos!
PD: No es mi intensión que se tome a mal mi comentario, es una recomendación y no se con que palabras decirlo para que no suene mal, no lo mal entiendas, ok?
__________________
Páginas web de alta calidad y hechas a la medida.
  #12 (permalink)  
Antiguo 23/12/2011, 13:51
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Recordar datos en formulario php al recibir error

Cita:
Iniciado por el_quick Ver Mensaje
PD: No es mi intensión que se tome a mal mi comentario, es una recomendación y no se con que palabras decirlo para que no suene mal, no lo mal entiendas, ok?
lo puedes decir asi:

Consigue un libro de html y leelo u hojealo. Despues, cuando sepas lo basico de html te vas a php, porque si no todo este foro se va a inundar de pregunas tuyas.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #13 (permalink)  
Antiguo 23/12/2011, 14:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 113
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Recordar datos en formulario php al recibir error

Cita:
Iniciado por el_quick Ver Mensaje
Código HTML:
Ver original
  1. <select name="nombre_select">
  2.         <option value="1" <?php echo ($_POST['nombre_select'] == '1' ? 'selected' : '') ?> >valor 1</option>
  3.         <option value="2" <?php echo ($_POST['nombre_select'] == '2' ? 'selected' : '') ?> >valor 2</option>

Hola! acá te dejo un ejemplo para que te guíes, sin embargo te recomiendo que aprendas html, pues te falta mucho, no es muy complicado, si te gusta el desarrollo web, seguro que rápido lo dominarás a la perfección.

Saludos!
PD: No es mi intensión que se tome a mal mi comentario, es una recomendación y no se con que palabras decirlo para que no suene mal, no lo mal entiendas, ok?
gracias, ya me lo recuerda todo! y si.. soy novato en el tema, por lo que tampoco me molesta.. gracias y perdona por molestarte! salut!

Etiquetas: formulario, recibir, recordar
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 10:00.