Comunidad de diseño web y desarrollo en internet online

Recordar datos Formulario

Citar            
MensajeEscrito el 22 Dic 2006 07:50 am
Hola, tengo un pequeño formulario para enviar mail en php... en el incluyo el código php usando include() ....

En el script php tengo unas condicionales que verifican si se ha ingresado los datos... pero el problema está, en que cuando se presiona el botón enviar... y aparece el mensaje de error... los datos del formulario ya no están... se borran.

¿Cómo hago para que se recuerden los datos ingresados?

formulario:

Código :

<div class="form">

<!---->
<p class="resalt"><?php include('envio_mail.php'); ?></p>
<!---->

<form action="<?php $_SERVER['PHP_SELF']; ?>" method=post>
<label>Tu Nombre:&nbsp;</label><br/>
<input type=text name="nombre" class="datos_envio" style="width: 200px;" title="Nombre"/>
<br/>
<label>Tu Email:&nbsp;</label><br/>
<input type=text name=email class="datos_envio" style="width: 200px;" title="Email"/>
<br/>
<label>Tu Asunto:&nbsp;</label><br/>
<input type=text name=asunto class="datos_envio" style="width: 200px;" title="Asunto"/>
<br/>
<label>Tu Mensaje:&nbsp;</label><br/>
<textarea name=coment cols=32 rows=6 class="datos_envio" style="width: 100%;" title="Mensaje"/></textarea>
<br/>

<input class="boton_enviar" type=submit value="Enviar" style="width: 100px;" title="Mensaje"/>

</form>
</div>


Script php

Código :

?php
//Si el campo Nombre esta vacio

if(isset($_POST['nombre'])) {
   //escribe esto
   echo "Por favor escriba sus datos completos";
//de lo contrario, si el campo tiene información, sigue adelante   
}else{
   //Si el campo email esta vacio
   if(empty($_POST['email'])){
      //escribe esto
      echo "Escribe un Email válido";
   //de lo contrario, si el campo tiene información, sigue adelante   
   }else{
      //si el campo Comentario esta vacio
      if(empty($_POST['coment'])){
         //escribe esto
         echo "Hey, no me comentas nada?";
      //de lo contrario, si el campo tiene información, sigue adelante
      } else {
      //Si llegamos hasta este punto, es que todo esta correcto, por lo tanto enviamos la info
       $cuerpo = "Formulario enviado\n";
       $cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
       $cuerpo .= "Email: " . $_POST["email"] . "\n";
       $cuerpo .= "Comentarios: " . $_POST["coment"] . "\n";

      //Pon aquí la dirección a donde quieres que llegue el mail
       mail("[email protected]","[Tattooarte]Mensaje",$cuerpo);
       

      //el mensaje final para confirmar que todo esta bien
      echo "Gracias, tu mensaje ha sido enviado";
}
}
}
// $_SERVER['PHP_SELF']; 
?>


Los datos no se borran cuando el php es cargado de forma externa, es decir, cuando no los incluyo en la página sino los cargo usando action="envio_mail.php" ...

Pero quiero evitar el click de regreso a la pagina original... además es bueno aprender esas cosas tan bonitas que veo por allí. :P

Gracias. U_U

Por J O S

712 de clabLevel

1 tutorial

Genero:Masculino  

Lima, Perú

firefox
Citar            
MensajeEscrito el 27 Dic 2006 09:30 pm
Hola!
Yo lo que acostubro a hacer, es poner en los formularios los valores de las variables que recibiran las cajas de texto, option buttons y demás cosas del formulario:

Código :

<input type="text" name="nombre" value="<?php echo $nombre; ?>" />
<input type="text" name="apellido" value="<?php echo $apellido; ?>" />


Hasta arriba del codigo pongo algo asi:

Código :

<?php
if($_POST){
$err_bool = false;
err_str = "";
$nombre = $_POST['nombre'];
$apellido= $_POST['apellido'];
if($nombre=="" or $apellido ==""){
err_bool = true;
}
if(err_bool){
err_str = "Favor de llenar todos los campos";
}else{
//guardas en archivo, en BD, saltas de pagina, o haces lo que quieras :D
}
}


y antes del formulario, puedes poner un 'echo err_str;', de primera instancia, no se va a ver nada, pero si encuentra errores, pss lo pinta, ok?

Con esto, al momento de mandar el formulario, asignará lo escrito en las cajas a las variables y si falta alguna, las demás las pone en la caja, por que con el value va a mostrar lo que se metio en la variable.

Espero te sirva, Saludos! ^^

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 28 Dic 2006 01:07 am
^^ gracias!!!... me solucionaste el problema.

Código :

<input type="text" name="nombre" value="<?php echo $nombre; ?>" />
<input type="text" name="apellido" value="<?php echo $apellido; ?>" />

Por J O S

712 de clabLevel

1 tutorial

Genero:Masculino  

Lima, Perú

firefox

 

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