Comunidad de diseño web y desarrollo en internet online

Recordar datos en formulario php al recibir error

Citar            
MensajeEscrito el 22 Dic 2011 12:45 pm
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!

Por ekisdedede

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Dic 2011 02:21 pm
Saludos ekisdedede,
Tienes al alcance distintas formas de hacerlo, una puede ser que en lugar de enviar los datos directamente con el php puedes usar algún javascript que verifique los datos sin necesidad de recargar la pagina:
http://foros.cristalab.com/validar-formularios-html-con-php-ajax-y-jquery-t92153/

Otra de las cosas que puedes hacer es enviar los datos a las cookies del navegador, así luego volverlas a solicitar con el comando setCookie():
http://php.net/manual/es/function.setcookie.php

Lo siguiente que se me ocurre es mantener las variables en la url, para poderlas recapturar por medio de GET (que en mi opinión es lo mas sencillo).
Digamos que al enfiar los datos del formulario al script verificador este los envies por medio de get, luego este scritp cuando desee regresar al formulario que guarde estas variables y las envie al formulario de la siguiente manera:
formulario.php?nombre=XXXX&telefono=XXXXX&mail=XXXXX
Así de esta manera, luego solo es cosa de pedirlos $_GET['nombre'];
http://www.w3schools.com/php/php_get.asp

Espero poder solucionar tu problema con esto.

Por Xer0s

Claber

276 de clabLevel

3 tutoriales

 

Colombia

chrome
Citar            
MensajeEscrito el 22 Dic 2011 04:17 pm

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 22 Dic 2011 11:46 pm
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:

<form action="contacto" method="post" id="contactform">
<p><label>Nombre:</label>
<input type="text" name="name" class="input" value=<?=$_POST['name']?>/> </p>

<p> <label>Email:</label>
<input type="text" name="email" class="input" value=<?=$_POST['email']?>/> </p>

<p><label>Teléfono:</label>
<input type="text" name="phone" class="input" value=<?=$_POST['phone']?>/> </p>

<p> <label>Título del mensaje:</label>
<select name="title" class='subject' value=<?=$_POST['title']?>/>

<p><label>Mensaje:</label>
<textarea name="message" rows="" cols="" value=<?=$_POST['message']?>/></textarea>
</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!!!

Por ekisdedede

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2011 01:22 am
Lee el artículo de DriverOp

Por ElSiniestro

Claber

285 de clabLevel


1 articulo

Genero:Masculino  

Alguien que Ayuda

chrome
Citar            
MensajeEscrito el 23 Dic 2011 02:38 am
ekisdedede si lees este post en todos tus scripts de php pon esto en las primeras lineas

Código PHP :

<?php
error_reporting(E_ALL);

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Dic 2011 02:52 pm
ok, lo he modificado tal y con vuestras indicaciones. Pero el campo "mnesaje" y "titulo" sigue sin recordarlos, todo lo demas esta bien.

<div id="form">
<?php if($msg) { ?><p><span class="info"><?php echo $msg; ?></span></p><?php } ?>
<?php if($msgerror) { ?><p><span class="error"><?php echo $msgerror; ?></span></p><?php } ?>
<?php if(!isset($status) || $status=="NOTOK"){ ?>
<form action="contacto" method="post" id="contactform">
<p><label>Nombre:</label>
<input type="text" name="name" class="input" value="<?php echo $_POST['name']?>"/> </p>

<p> <label>Email:</label>
<input type="text" name="email" class="input" value="<?php echo $_POST['email']?>"/> </p>

<p><label>Teléfono:</label>
<input type="text" name="phone" class="input" value="<?php echo $_POST['phone']?>"/> </p>

<p> <label>Título del mensaje:</label>
<select name="title" class='subject' value="<?php echo $_POST['title']?>">
<option value="error">-- seleccione un título --</option>
<option value="opt1">opcion1</option>
<option value="opt2">opcion2</option>>
<option value="otros">-- Otros (especifique) --</option>
</select>
<p>
<label>&nbsp;</label>
<input type="text" name="otros2" class='otros2' style='display:none;'/>
</p>
<p><label>Mensaje:</label>
<textarea name="message" rows="" cols=""/><input value="<?php echo $_POST['message']?>"/></textarea>
</p>

<div class="indent">
<input type="hidden" name="Submit" value="Submit" />
<input name="submit" class="submitbutton" type="image" src="images/submit_button.jpg" value="Send Message"/>
</div>
</form>
<?php } ?>

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

Gracias por molestaros!

Por ekisdedede

13 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.