Foros del Web » Programando para Internet » PHP »

formulario

Estas en el tema de formulario en el foro de PHP en Foros del Web. Hola buenas tardes escribo para ver si alguien podria ayudarme, a resolver una duda sobre formularios, tengo un formulario en html, el cual me pide ...
  #1 (permalink)  
Antiguo 16/07/2013, 17:30
Avatar de MarcomolinaLAD  
Fecha de Ingreso: julio-2013
Ubicación: Toluca
Mensajes: 4
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta formulario

Hola buenas tardes escribo para ver si alguien podria ayudarme, a resolver una duda sobre formularios, tengo un formulario en html, el cual me pide ciertos datos entre ellos el
-correo electronico, quisiera ver cual es la funcion para que mi formulario valide si el correo que se anoto existe.
- y quiero que al hacer clic en submit me tiene que salir un pop-up que diga si el mensaje se ah enviado, o el correo esta mal escrito.
- y que mi formulario tenga la opcion de autorespuesta, digamos que me llegue un correo con los datos que acabo de ingresar en el fomulario.

les anexo el codigo html y php:

HTML:
Código HTML:
Ver original
  1. <form name="cursocolima" method="POST" action="procesar.php" target="_blank">
  2. <table width="450px">
  3. <tr>
  4. </tr>
  5. <tr>
  6.  <td valign="top">
  7.   <label for="nombre">Nombre</label>
  8.  </td>
  9.  <td valign="top">
  10.   <input  type="text" name="nombre" maxlength="50" size="30">
  11.  </td>
  12. </tr>
  13.  
  14. <tr>
  15.  <td valign="top">
  16.   <label for="edad">Edad</label>
  17.  </td>
  18.  <td valign="top">
  19.   <input  type="text" name="edad" maxlength="50" size="30">
  20.  </td>
  21. </tr>
  22.  
  23. <tr>
  24.  <td valign="top">
  25.   <label for="ocupacion">Ocupación</label>
  26.  </td>
  27.  <td valign="top">
  28.   <input  type="text" name="ocupacion" maxlength="50" size="30">
  29.  </td>
  30. </tr>
  31.  
  32. <tr>
  33.  <td valign="top">
  34.   <label for="email">e-Mail</label>
  35.  </td>
  36.  <td valign="top">
  37.   <input  type="text" name="email" maxlength="80" size="30">
  38.  </td>
  39.  
  40. </tr>
  41. <tr>
  42.  <td valign="top">
  43.   <label for="curso">Curso</label>
  44.  </td>
  45.  <td valign="top">
  46.   <input  type="text" name="curso" maxlength="30" size="30">
  47.  </td>
  48. </tr>
  49. <tr>
  50.  <td valign="top">
  51.   <label for="mensaje">Mensaje</label>
  52.  </td>
  53.  <td valign="top">
  54.   <textarea  name="mensaje" maxlength="1000" cols="25" rows="6"></textarea>
  55.  </td>
  56.  
  57. </tr>
  58. <tr>
  59.  <td colspan="2" style="text-align:center">
  60.   <!-- Estamos muy agradecidos a usted para mantener este vínculo en su sitio. gracias. -->
  61.   <input type="submit" class="button" value="Enviar"></td>
  62. </tr>
  63. </form>

PHP:
Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['email'])) {
  3.    
  4.     // CHANGE THE TWO LINES BELOW
  5.     $email_to = "[email protected]";
  6.    
  7.     $email_subject = "Cursos ICADEP enviado por $nombre: ".$_POST["curso"] ;
  8.    
  9.    
  10.     function died($error) {
  11.         // your error code can go here
  12.         echo "Lo sentimos, pero hay errores encontrados con la forma que ha enviado.<br /><br />";
  13.         echo $error."<br /><br />";
  14.         echo "Por favor, vuelva atras y corrija estos errores.<br /><br />";
  15.         die();
  16.     }
  17.    
  18.     // validation expected data exists
  19.     if(!isset($_POST['nombre']) ||
  20.         !isset($_POST['edad']) ||
  21.         !isset($_POST['ocupacion']) ||
  22.         !isset($_POST['email']) ||
  23.         !isset($_POST['curso']) ||
  24.         !isset($_POST['mensaje'])) {
  25.         died('Lo sentimos, pero parece ser un problema con la forma que ha enviado.');     
  26.     }
  27.    
  28.     $nombre = $_POST['nombre']; // required
  29.     $edad = $_POST['edad']; // required
  30.     $ocupacion = $_POST['ocupacion']; // required
  31.     $email_from = $_POST['email']; // required
  32.     $curso = $_POST['curso']; // not required
  33.     $mensaje = $_POST['mensaje']; // required
  34.    
  35.     $error_message = "";
  36.     $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  37.   if(!preg_match($email_exp,$email_from)) {
  38.     $error_message .= 'La direccion de correo electronico que has introducido no parece ser valido.<br />';
  39.   }
  40.   if(strlen($error_message) > 0) {
  41.     died($error_message);
  42.   }
  43.     $email_message = "Formar formulario.\n\n";
  44.    
  45.     function clean_string($string) {
  46.       $bad = array("content-type","bcc:","to:","cc:","href");
  47.       return str_replace($bad,"",$string);
  48.     }
  49.    
  50.     $email_message .= "nombre: ".clean_string($nombre)."\n";
  51.     $email_message .= "edad: ".clean_string($edad)."\n";
  52.     $email_message .= "ocupacion: ".clean_string($ocupacion)."\n";
  53.     $email_message .= "email: ".clean_string($email_from)."\n";
  54.     $email_message .= "curso: ".clean_string($curso)."\n";
  55.     $email_message .= "mensaje: ".clean_string($mensaje)."\n";
  56.    
  57.    
  58. // create email headers
  59. $headers = 'From: '.$email_from."\r\n".
  60. 'Reply-To: '.$email_from."\r\n" .
  61. 'X-Mailer: PHP/' . phpversion();
  62. @mail($email_to, $email_subject, $email_message, $headers);  
  63. ?>
  64.  
  65. <!-- place your own success html below -->
  66.  
  67. Gracias por contactar con nosotros. Nos pondremos en contacto con usted muy pronto.
  68.  
  69. <?php
  70. }
  71. die();
  72. ?>

Última edición por Triby; 16/07/2013 a las 18:07 Razón: Código en highlight
  #2 (permalink)  
Antiguo 16/07/2013, 18:47
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: formulario

no existe forma de que el formulario sepa si existe o no un correo lo que se hace es una validacion php o javascript (recomendado) para corroborar el formato del correo.
para el popup necesitas convinar ajax con php para que salte al ser eviado el mensaje.
  #3 (permalink)  
Antiguo 16/07/2013, 22:47
Avatar de MarcomolinaLAD  
Fecha de Ingreso: julio-2013
Ubicación: Toluca
Mensajes: 4
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: formulario

pero eso como es de la validacion, lo del pop up, ya pude, pero no entiendo como hacer que valide si el correo existe, conque funcion es o dnd es?, y la autorespuesta como es?
  #4 (permalink)  
Antiguo 17/07/2013, 08:00
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: formulario

http://www.youtube.com/watch?v=z4F8vKhs-GY
  #5 (permalink)  
Antiguo 17/07/2013, 10:47
Avatar de MarcomolinaLAD  
Fecha de Ingreso: julio-2013
Ubicación: Toluca
Mensajes: 4
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: formulario

grax por el video, pero esa parte ya la hice, lo que necesito hacer es el autoresponder y que valide si mi correo existe o no existe, ya que en la forma como yo lo hice, solo te dice que escribas el correo, pero lo escribas bien o mal, lo envia, y quiero que me valide si el correo que se anoto existe

<?php
if(isset($_POST['email'])) {

// CHANGE THE TWO LINES BELOW
$email_to = "[email protected]";

$email_subject = "Cursos ICADEP enviado por $nombre: ".$_POST["curso"] ;


function died($error) {
// your error code can go here
echo '<img src="Fotos/error.png" <br /><br /><br />';
echo "Lo sentimos, pero hay errores encontrados con la forma que ha enviado.<br /><br />";
echo $error."<br />";
echo "Por favor, vuelva atras y corrija estos errores.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['nombre']) ||
!isset($_POST['edad']) ||
!isset($_POST['ocupacion']) ||
!isset($_POST['email']) ||
!isset($_POST['curso']) ||
!isset($_POST['mensaje'])) {
died('Lo sentimos, pero parece ser un problema con la forma que ha enviado.');
}

$nombre = $_POST['nombre']; // required
$edad = $_POST['edad']; // required
$ocupacion = $_POST['ocupacion']; // required
$email_from = $_POST['email']; // required
$curso = $_POST['curso']; // not required
$mensaje = $_POST['mensaje']; // required

$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'La direccion de correo electronico que has introducido no parece ser valido.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Formar formulario.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "nombre: ".clean_string($nombre)."\n";
$email_message .= "edad: ".clean_string($edad)."\n";
$email_message .= "ocupacion: ".clean_string($ocupacion)."\n";
$email_message .= "email: ".clean_string($email_from)."\n";
$email_message .= "curso: ".clean_string($curso)."\n";
$email_message .= "mensaje: ".clean_string($mensaje)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- place your own success html below -->
<br /> <br />

<div align="center"><img src="Fotos/confirmacion.png"/> <br /><br /> <br /> <br />

Tu solicitud ha sido enviada.
</div>
<?php
}
die();
?>
  #6 (permalink)  
Antiguo 17/07/2013, 11:00
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: formulario

Pero el planteamiento suyo es el problema, como ya respondieron arriba no hay forma de saber si el correo exister, lo que puede hacer es ver si el correo tiene un formati valido y eso lo hace con JS !!!
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #7 (permalink)  
Antiguo 17/07/2013, 11:06
Avatar de MarcomolinaLAD  
Fecha de Ingreso: julio-2013
Ubicación: Toluca
Mensajes: 4
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: formulario

ahh perdon no habia leido, esa respuesta, lo siento, y como es con js o como se tiene que hacer. saludos
  #8 (permalink)  
Antiguo 17/07/2013, 11:22
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: formulario

Cita:
Iniciado por MarcomolinaLAD Ver Mensaje
ahh perdon no habia leido, esa respuesta, lo siento, y como es con js o como se tiene que hacer. saludos
Mire este mas o menos algo asi:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var text=valor.value;
  3. function validarEmail(valor)
  4. {
  5. var text=valor.value;
  6. if (/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/.test(text))
  7. {
  8. return (true)
  9. }
  10.  
  11. else
  12. {
  13. valor.focus();
  14. alert("La direccion de correo no es válida");
  15. return (false);
  16. }
  17.  
  18. }
  19. </script>

Con eso puede empezar a jugar !!!
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: formulario, html, javascript, javascript+html, javascript+php
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 04:51.