Formulario de contacto con PHP

  • Feb
  • 07

156 comentarios! 224 palabras - 1 hits

Construyendo un formulario de contacto en php paso a paso.

Hay varias razones por las que se debe incluir un formulario de contacto en una página web,

  • El mostrar la dirección de correo directamente en la página, es una invitación al "spam".
  • Los usuarios no siempre tienen disponible un cliente de correo, para poder utilizar.Conexiones desde pc's publicos, webmails, etc ...

En este pequeño tutorial, tratare de explicar, como crear un formulario de contacto, basado en PHP y con las siguientes funcionalidades:

  • Siempre se enviara una copia del mensaje al remitente a efecto de comprobante.
  • La dirección de correo del remitente se comprueba antes de enviar el formulario mediante javascipt.
  • Se hace una segunda comprobación del dominio del remitente mediante PHP, y en el caso de no ser valido, se muestra un mensaje de error.
  • Se comprueba que los campos obligatorios del formulario se hayan rellenado antes de enviar el mensaje.
  • Los mensajes de error se muestran en el propio formulario, permitiendo al usuario una rapida correción.
  • El contenido del mensaje se limita a 800 caracteres, haciendo uso de php y javascript para controlar la limitación.

Cómo funciona el script:

Para nuestro formulario vamos a crear tres paginas PHP y un fichero javascript

  • contact.php , el formulario de contacto.
  • email.php , la página de confirmación.
  • send.php , el script que se encarga de procesar el formulario.
  • var.js , el script que comprueba la dirección de correo del usuario.

Para utilizar este formulario, solo has de copiar el codigo que aparece a continuación, y salvarlos con los nombres que se indican.

contact.php

  1.  
  2.         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3.         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  5.         <head profile="http://gmpg.org/xfn/1">
  6.                 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7.                 <title>Formulario de Contacto</title>
  8.                 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
  9.                 <script type="text/javascript">
  10.                 function stoperror(){
  11.                         return true
  12.                 }
  13.                 window.onerror=stoperror
  14.                 </script>
  15.                 <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
  16.                 </head>
  17.                 <body>
  18.         <div id="contactform">
  19.                 <h1>Formulario de Contacto</h1>
  20.                 <form id="contact-form" method="post" onsubmit="return emailCheck(this.email.value);" action="email.php">
  21.                                 <fieldset>
  22.                                 <legend>Datos Personales &raquo;</legend>
  23.                         <div>
  24.                                 <label for="visitorname">
  25.                                         <span style="color:#c00;">*</span>Nombre:
  26.                                 </label>
  27.                                         <input type="text" name="name" id="visitorname" title="Tu Nombre" />
  28.                                 </div>
  29.                                 <div>
  30.                                         <label for="visitorsurname">
  31.                                                 <span style="color:#c00;">*</span>Apellidos:
  32.                                         </label>
  33.                                         <input type="text" name="surname" id="visitorsurname" title="Tu Apellido" />
  34.                                 </div>
  35.                                 <div>
  36.                                         <label for="visitormail">
  37.                                                 <span style="color:#c00;">*</span>Direcci&oacute;n de correo:
  38.                                         </label>
  39.                                 <input type="text" name="email" id="visitormail" value="<?php echo $email; ?>" title="Tu dirección de correo" />
  40.                         </div>
  41.                         <div>
  42.                                 <label for="url">Página Web:</label>
  43.                                         <input type="text" name="url" id="url" class="text" title="Tu página web" />
  44.                                 </div>
  45.                            <div>
  46.                                    <label for="phone">Teléfono:</label>
  47.                                         <input type="text" name="phone" id="phone" class="text" title="Tu número de telefono" />
  48.                                 </div>
  49.                         <div>
  50.                                 <label for="postcode">Codigo Postal:</label>
  51.                                 <input type="text" name="postcode" id="postcode" class="text" title="El codigo postal de tu localidad" />
  52.                         </div>
  53.                         <div>
  54.                                 <input type="submit" id="submit" name="send" value="Enviar &raquo;" title="Pulsa una vez para enviar el mensaje, y espera a la pantalla de confirmación" />
  55.                         </div>
  56.                 </fieldset>
  57.                 <fieldset>
  58.                 <legend>Envianos tu Mensaje &raquo;</legend>
  59.                         <div>
  60.                            <label for="subject">
  61.                                 <span style="color:#c00;">*</span>Motivo del mensaje:
  62.                            </label>
  63.                         <input type="text" name="sub" id="subject" title="El motivo de tu mensaje" />
  64.                 </div>
  65.                 <div>
  66.                         <label for="notes">
  67.                                 <span style="color:#c00;">*</span>Cuerpo del Mensaje:
  68.                         </label>
  69.                         <textarea name="text" id="notes" rows="" cols="" onkeyup="val=this.value; if (val.length > 800) { alert('Lo siento, has sobrepasado el limite de 800 caracteres'); this.value = val.substring(0,800); }  this.form.count.value=800-parseInt(this.value.length); "><?php echo $text; ?></textarea>
  70.                 </div>
  71.                 <div>
  72.                         <label for="count">Caracteres disponibles:</label>
  73.                                 <input type="text" name="count" id="counter" value="800" size="2" />
  74.                                 <?php $text_len = preg_match_all('/./', $str, $dummy); ?>
  75.                         </div>
  76.                 </fieldset>
  77.            </form>
  78.                 <p><span style="color:#c00;">*</span>Campos Obligatorios</p>
  79.                 <p><span style="color:red;font-weight:bold;"><?php echo $error ?></span></p>
  80.                 <script type="text/javascript" src="var.js"></script>
  81.                 </div>
  82.    </body>
  83.    </html>
  84.  

send.php

  1.  
  2.     <?php
  3.         if (empty($name)) $error .= "No has introducido tu nombre";
  4.         if (empty($surname)) $error .= "No has introducido tu apellido";
  5.         if (empty($email)) $error .= "No has introducido tu dirección de e-mail";
  6.         if (empty($sub)) $error .= "No has introducido un titulo para el mensaje";
  7.         if (empty($text)) $error .= "No has escrito nada en el cuerpo del mensaje<br/>";
  8.         $str = $text;
  9.         $text_len = strlen($str);
  10.         if($text_len > 800) {
  11.             $error .= "Lo siento, has superado el maximo de 800 caracteres en el cuerpo del mensaje. El numero total de caracteres es $text_len - por favor, acorta tu mensaje.";
  12.         }
  13.         if($email) {
  14.             if(isset($_POST['email'])) {
  15.                 if (preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i',trim($email))) {
  16.                 } else {
  17.                     $error .= "Tu dirección de e-mail contiene un error.";
  18.                 }
  19.                 $ok = TRUE;
  20.                 $ok = eregi( "^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$", $email,
  21.       $check);
  22.                 $ok = getmxrr(substr(strstr($check[0], '@'), 1), $dummy);
  23.                 if($ok === false) {
  24.                     $host = substr($email, strpos($email, '@') + 1);
  25.                     if(gethostbyname($host) != $host) {
  26.                         $ok = true;
  27.                     }
  28.                     if ($ok != true) {
  29.                         $error .= "La dirección de e-mail no parece correcta, por favor, compruebalo";
  30.                     }
  31.                 }
  32.             }
  33.         }
  34.         if($error) {
  35.             include("index.php");
  36.         } else {
  37.              include("email.php");
  38.         }
  39.     ?>
  40.  

email.php

  1.  
  2.     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  4.     <head profile="http://gmpg.org/xfn/1">
  5.     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6.     <title>Gracias por tu mensaje.</title>
  7.     <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
  8.     <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
  9.     </head>
  10.     <body>
  11.     <div id="contactform">
  12.     <?php
  13.     $headers = "From: $email";
  14.       $message .= "
  15.       De: $name $surname
  16.       E-Mail: $email
  17.       Telefono: $phone
  18.       Codigo Postal: $postcode
  19.       Pagina Web: $url
  20.       Desde : $title
  21.       ____________________________________
  22.     $text
  23.     ";
  24.     $message2 .= "
  25.       Gracias por enviar el mensaje con el sujeto: $sub.\n
  26.       Para tu referencia, se ha añadido el texto original del mensaje al final de este correo.\n
  27.       Tu mensaje original era
  28.       $text
  29.     ";
  30.       $headers2 .= "From: user@example.com\n";
  31.       $sub2.="Re: $sub";
  32.     ?>
  33.     <h2>Gracias!</h2>
  34.     <p>Tu mensaje ha sido enviado, usando la dirección de remitente </p>
  35.     <p><span style="color:red;font-size:150%;font-weight:bold;"><?php print $email; ?></span></p>
  36.     <p>Si no es correcto,
  37.     <script type='text/javascript'>
  38.       document.write('<a href="javascript:history.go(-1);">vuelve atras</a>');
  39.     </script>
  40.     <noscript>vuelve atras</noscript> y envialo de nuevo</p>
  41.     <script type='text/javascript'>
  42.       document.write('<p class="details"><a href="javascript:history.go(-2);">Volver a la página de inicio.</a></p>');
  43.     </script>
  44.     <script type='text/javascript'>
  45.       setTimeout('history.go(-2)', 9000);
  46.     </script>
  47.     <noscript>
  48.     <p class="details">Pulsa el boton "atras" en tu navegador para volver a la página anterior.</p>
  49.     </noscript>
  50.     <?php
  51.       $message = stripslashes($message);
  52.       $message2 = stripslashes($message2);
  53.       $message = strip_tags ($message);
  54.       $message2 = strip_tags ($message2);
  55.       // RECUERDAR CAMBIAR LA DIRECCION DE CORREO
  56.       mail("user@example.com", $sub, $message, $headers);
  57.       mail($email, $sub2, $message2, $headers2);
  58.       ?>
  59.     </div>
  60.     </body>
  61.     </html>
  62.  

var.js

  1.  
  2.     function emailCheck (emailStr) {
  3.     var checkTLD=1;
  4.     var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
  5.     var emailPat=/^(.+)@(.+)$/;
  6.     var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
  7.     var validChars="\[^\\s" + specialChars + "\]";
  8.     var quotedUser="(\"[^\"]*\")";
  9.     var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  10.     var atom=validChars + '+';
  11.     var word="(" + atom + "|" + quotedUser + ")";
  12.     var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
  13.     var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
  14.     var matchArray=emailStr.match(emailPat);
  15.     if (matchArray==null) {
  16.     alert("Tu dirección de correo no aparece o es incorrecta (comprueba @ y .'s)");
  17.     return false;
  18.     }
  19.     var user=matchArray[1];
  20.     var domain=matchArray[2];
  21.     for (i=0; i<user.length; i++) {
  22.     if (user.charCodeAt(i)>127) {
  23.     alert("Tu dirección de correo contiene caracteres no validos.");
  24.     return false;
  25.        }
  26.     }
  27.     for (i=0; i<domain.length; i++) {
  28.     if (domain.charCodeAt(i)>127) {
  29.     alert("El dominio de la dirección introducida contiene caracteres no validos.");
  30.     return false;
  31.        }
  32.     }
  33.     if (user.match(userPat)==null) {
  34.     alert("La dirección de correo parece incorrecta, por favor compruebalo.");
  35.     return false;
  36.     }
  37.     var IPArray=domain.match(ipDomainPat);
  38.     if (IPArray!=null) {
  39.     for (var i=1;i<=4;i++) {
  40.     if (IPArray[i]>255) {
  41.     alert("La dirección IP de destino no es correcta!");
  42.     return false;
  43.        }
  44.     }
  45.     return true;
  46.     }
  47.     var atomPat=new RegExp("^" + atom + "$");
  48.     var domArr=domain.split(".");
  49.     var len=domArr.length;
  50.     for (i=0;i<len;i++) {
  51.     if (domArr[i].search(atomPat)==-1) {
  52.     alert("La dirección de correo parece incorrecta, por favor compruebalo, incluyendo el uso incorrecto de signos de puntuación, comas , o puntos [.] al final de la dirección.");
  53.     return false;
  54.        }
  55.     }
  56.     if (checkTLD && domArr[domArr.length-1].length!=2 &&
  57.     domArr[domArr.length-1].search(knownDomsPat)==-1) {
  58.     alert("Tu dirección de correo debe terminar en un dominio o dos letras " + "país.");
  59.     return false;
  60.     }
  61.     if (len<2) {
  62.     alert("Falta el nombre del host en tu dirección de correo - compruebalo. O debes de haber añadido un espacio en blanco al final de la dirección - corrije el error e intentalo de nuevo.");
  63.     return false;
  64.     }
  65.     return true;
  66.     }
  67.  

Edita los los ficheros var.js, send.php y email.php para cambiar las direcciones de correo por las tuyas propias y personalizar los mensajes de error.

Puedes ver un ejemplo del formulario resultante en esta dirección. Ten en cuenta, que aunque lo he dejado funcional, los mensajes solo se recibiran en la dirección de correo que pongas como remite, si deseas ponerte en contacto conmigo, usa el formulario que he habilitado en el sitio para tal efecto.

update: para que el formulario funcione hay que tener la opcion “register_globals” habilitada en el php.ini

Enlaces Relacionados

156 comentarios

  • Feb
  • 08

# Escrito por stan hace 5 años, 1 mes

Pues pondre a prueba el tutorial que aqui has colocado, ya que el formulario que yo uso tiene muchos errores.

chido el tuto, lo tengo en mi bloglines marcado como “mantener nuevo” :D


  • Feb
  • 09

# Escrito por Alfredo Silva hace 5 años, 1 mes

interesante la cabecera de tu sitio como del call of duty ….gracias por aportar al desarrollo de las Web..algun dia todos seremos una gran computadora …


  • Mar
  • 03

# Escrito por samantha hace 5 años

Gracias por el formulario de envio me fue genial un saludo


  • Mar
  • 04

# Escrito por miguel Ángel torres vera hace 5 años

!Gracias por compartir tus conocimientos!

UN caluroso saludo desde México.


  • Mar
  • 04

# Escrito por david hace 5 años

hola alex,he probado el script del formulario php y parece que funciona bien pero tengo un problema :( no me llega ningun mail y eso que me sale el mensaje de enviado.he cambiado la direccion email no se si hay q cambiar algo mas


  • Mar
  • 27

# Escrito por antonio jesus hace 4 años, 11 meses

hola, he probado tu script pero no me envía ningún mail, he cambiado la dirección de correo electrónico en el archivo email.php, pero nada


  • Jul
  • 22

# Escrito por GABRIEL TZAL hace 4 años, 7 meses

Soy de Buenos Aires,tengo 46 años y soy MEXICANISTA,Pedro esta entre mis preferidos y tengo 304 peerless originales en cd.fabricados aqui,importados que me han traido y por internet.Me faltan 20.Tengo material de el de libros MEXICANOS y tengo datos en mi cerebro.Sus films los vi todos……espero una discografia con datos completos de dias,meses,años,tomas diferentes,y tantos otros……CARIÑO ENORME.


  • Sep
  • 27

# Escrito por Alberto hace 4 años, 5 meses

Hola Alex!! mil gracias por ese formulario, solo tengo unpequeño problema y es que no esta verificando los datos que son obligatrios, ya que puedo mandar un formail totalmente vacio y no indica ningun error. ¿Como puedo resolver eso?


  • Sep
  • 27

# Escrito por Alex Sancho hace 4 años, 5 meses

Parece como si no registraras las variables de manera global, eso es lo primero que comprobaria


  • Nov
  • 08

# Escrito por rodrigo hace 4 años, 4 meses

se ve que funciona pero no encuentro los codigo para poder modificarlos ya que presiono en los links que has dejado y no pasa nada…te agradeceria que me puedas ayudar //rodrigo


  • Nov
  • 18

# Escrito por noname hace 4 años, 3 meses

estoo… ¿has quitado el código?


  • Nov
  • 18

# Escrito por Alex Sancho hace 4 años, 3 meses

estoo… que yo sepa sigue en su sitio, quizas intentas abrir los enlaces de ejemplo en una ventana nueva?

Solo es un javascript que lo muestra u oculta a voluntad…


  • Nov
  • 23

# Escrito por gustavo zambarbieri hace 4 años, 3 meses

No puedom bajar los ejemplos. doy click y vuelve a cargar la pagina que estoy leyendo saludos


  • Dic
  • 01

# Escrito por juan saavedra hace 4 años, 3 meses

no puedo abrir los ejemplos..


  • Dic
  • 01

# Escrito por Alex Sancho hace 4 años, 3 meses

Intenta abrirlos en la misma pagina, si intentais abrirlos en una pagina/pestaña nueva, no funcionaran.


  • Dic
  • 15

# Escrito por norma hace 4 años, 2 meses

sdfgdhg


  • Dic
  • 20

# Escrito por Pablo hace 4 años, 2 meses

No funciona, no entiendo lo de declarar las variables que comentas mas arriba. Podrías explicarlo? Saludos


  • Dic
  • 20

# Escrito por Pablo hace 4 años, 2 meses

Si cortas y pegas exactamente lo que pone en tu web, envia un correo vacio, pero no comprueba los campos ni la dirección de correo. No se porque será porque no tengo mucha idea de php, intento aprender gracias a webs como la tuya. He intentado comparar el codigo que pegas con el codigo fuente del formulario que pones de muestra pero soy incapaz de averiar donde fallo. Saludos, y si contestas este comentario te agradecería que fueses sencillo Buen trabajo, gracias


  • Ene
  • 06

# Escrito por rivax hace 4 años, 2 meses

Consulta: me funciona excelente el script por si solo.. sin embargo.. lo intento incrustar en una pag html y no resulta. Saludos y gracias


  • Feb
  • 12

# Escrito por Marinolo hace 4 años, 1 mes

Llego un poco tarde a tu artículo, pero lo he estado probando y veo que no deja introducir una direccion de correo que incluya el simbolo “+”. Yo suelo utilizarlo en mi direccion gmail para poder seguir el rastro mas facilmente.


  • Feb
  • 26

# Escrito por Jorge hace 4 años

Hola que tal saludos alex, segui los pasos de tu torial y cree los archivos todo esta bien solo el unico problema es que como mando el email me sale

Gracias! Tu mensaje ha sido enviado, usando la dirección de remitente Bueno asta ahi estabien pero al momento de checar mi bandeja de entrada de mi email mm no se ve los datos se ve que tengo un nuevo email pero no se ven los datos quisiera saber como hago para que llege el email porfavor si puedes ayudarme te lo agradeceria mucho


  • Mar
  • 09

# Escrito por jairo andres llano hace 4 años

Que pasa cuando uno tiene una pagina en flash y quiere desde alli enviar el “contactenos”? tengo montado un modelo pero no se que abria que configurar para sacar el texto dinamico hacia un mail.

Muchas gracias por su colaboratividad.


  • Mar
  • 23

# Escrito por Alonso hace 3 años, 11 meses

Hola, estoy haciendo una prueba de tu php. chao.


  • Mar
  • 23

# Escrito por Alonso A. hace 3 años, 11 meses

Hola, he probado tu formulario, pero no me funciona correctamente.

Cuando cargo la pagina contact.php, me sale el formulario, pero no comprueba nada. Puedo enviarlo aunque este vacio.

Cuando hago clic en enviar, se abre el email.php, pero es una pagina en blanco.

las otras paginas tambien.

No recibo ningún correo.

¿que puede ser? ¿estaré haciendo algo mal?

Gracias.


  • Mar
  • 23

# Escrito por Alex Sancho hace 3 años, 11 meses

es dificil saber cual puede ser el problema con tan pocos detalles, crea un fichero con la funcion phpinfo() y ejecutalo, para asegurar que tienes soporte php, si es así necesitaria mas datos para intentar dar con la solución.

Salu2


  • Mar
  • 24

# Escrito por Javier FCM hace 3 años, 11 meses

No logro hacer que funciione la verificación de los campos parece que el PHP no llama al archivo var.js o algo, estoy tratando de entender.

Gracias


  • Mar
  • 30

# Escrito por Juan Manuel Díaz hace 3 años, 11 meses

Me ha costado toda una mañana pero valio la pena ya que al fin encontre porque no funcionaba el ejemplo tal y como lo habian publicado, de todos modos debo decir que es un gran aporte para quienes no somos expertos en php, con un poco de paciencia y mucho empeño se descubre como funcionan las cosas, a los demás les dire como pueden hacer funcionar perfectamente el codigo:

En el archivo email.php hacen falta las instrucciones que captura las variables de contacta.php

Asi que deberan escribirlas asi:

De la linea de codigo 10 en adelante.

    <?php
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $email = $_POST['email'];
    $text = $_POST['text'];
    .
    .
    .       
    $headers = "From: $email";
      $message .= "
   De: $name $surname
   E-Mail: $email
 ... etc.

Faltan más variables pero igual el codigo funciona.

Suerte.


  • Mar
  • 30

# Escrito por Juan Manuel Díaz hace 3 años, 11 meses

<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$text = $_POST['text'];
etc...

  • Mar
  • 30

# Escrito por Juan Manuel Díaz hace 3 años, 11 meses

No me deja el escribir el codigo, pero igual ya dije la clave esta en transformar las variables leidas en contacta.php en email.php a partir de la linea 10 en adelante “$name = $_POST[‘name’]”, etc.

Suerte


  • Abr
  • 18

# Escrito por José Luis Pérez V hace 3 años, 11 meses

Bien Alex por tus aportes, no ayuda en gran manera a aquellos que apenas queremos indagar en el mundo de la programación php.

Coloco mi granito de arena, aunque es poco creo que a algunos les podría ser de gran ayuda tanto a los que ha expuesto su comentarios y han tratado de implementar este formulario de contactos, como para aquellos que futuramente podrían utilizarlo.

Después de mucha dedicación a entender los códigos php y lograr implementarlo con éxito este formulario de contacto les cuento los impases que tuve para que me logrará funciona:

En la línea del archivo contact.php

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”email.php”> hice un pequeño cambio

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”send.php”> con el fin de validar algunas instrucciones.

En la línea del archivo send.php según aclaración de Juan Manuel Díaz y teniendo presente el tipo de versión php instalada en el servidor agregue en vez de


  • Abr
  • 18

# Escrito por José Luis Pérez V hace 3 años, 11 meses

Bien escribo algunos anexos que desaparecieron en el comentario anterior:

En la línea del archivo contact.php

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”email.php”> hice un pequeño cambio

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”send.php”> con el fin de validar algunas instrucciones.

Sigue …


  • Abr
  • 18

# Escrito por José Luis Pérez V hace 3 años, 11 meses

En la línea del archivo send.php según aclaración de Juan Manuel Díaz y teniendo presente el tipo de versión php instalada en el servidor agregue en vez de


  • Abr
  • 18

# Escrito por José Luis Pérez V hace 3 años, 11 meses

la expresion $_POST[‘variable’] la cambie por $HTTP_POST_VARS[‘variable’].

y en la línea al copiar y pegar al editor htm cambie la expresión > de la linea if($text_len > 800) por el signo >

En el archivo email.php volví a tener presente capturar las variables enviada por el metodo post, es decir, agregue nuevamente las instrucciones comentada por Juan Manuel Díaz pero con la expresión $HTTP_POST_VARS[variable]

Sigue …


  • Abr
  • 18

# Escrito por José Luis Pérez V hace 3 años, 11 meses

Y de igual en el archivo de validación var.js cambie al copiar y pegar al editor htm las líneas con la expresión < y > en for (i=0; i<domain.length; i++) por el signo < y if (domain.charCodeAt(i)>127) por el signo >

Realizando estos cambio … guala funciono :-)

Nuevamente Alex Sancho agradecemos tus aportes y como es debido todos los créditos.

Esperamos contar con tu autorización para utilizarlo en nuestro sitio web http://www.vidaparalasnaciones.org


  • Abr
  • 19

# Escrito por José Luis Pérez V hace 3 años, 10 meses

Noto que hay algunos detallas que al enviar el formulario cambiarón sobre todo con lo expuesto en el cuarto y quinto comenteario.

Esto tiene que ver con los signos < y >, aclaro que las expresiones a la que me refiero son: i & l t; y & g t.

Espero me comprenda ;-)


  • Abr
  • 26

# Escrito por Alex Sancho hace 3 años, 10 meses

bueno Jose Luis, gracias por tus aportaciones, he de explicar que esos simbolos que comentas aparecen asi por error al renderizar la pagina, no se que navegador estaras utilizando, pero a dia de hoy he revisado el script que da formato al codigo y estoy convencido de que ya esta solucionado el problema.

De nuevo gracias por tu tiempo y disculpa por el fallo.

Salu2


  • Abr
  • 29

# Escrito por Efren vazquez hace 3 años, 10 meses

como le hago para hacerla… o sea tengo que agregaros todos en una misma pagina contact.php, email.php send.php , var.js todos en una o que onda de paso me podras decir como poner una imagen de fondo gracias saludos desde mexico


  • May
  • 05

# Escrito por Carlos hace 3 años, 10 meses

Veremos que tal nos va


  • Jun
  • 09

# Escrito por Enrique hace 3 años, 9 meses

Ya instalé el formulario, funciona bien pero cómo hago para configurar el file send.php para que funcione apropiadamente.


  • Ago
  • 01

# Escrito por Sebastian hace 3 años, 7 meses

Gracias!

se bastante poco sobre programacion, mi profesion es otra (como se verá en la página, apenas la estoy armando). Pero este tipo de ayuditas para quienes no estudiamos diseño o programación, son invaluables.

Suerte!


  • Ago
  • 22

# Escrito por Marcelo Arce hace 3 años, 6 meses

AYUDA es muy interesante el codigo pero no valida el formulario que puede ser lo ise tal y como esta pero no puedo validar, si alguien podria echarme una mano por favor. Gracias


  • Oct
  • 06

# Escrito por Eduardo hace 3 años, 5 meses

Muchas gracias por este magnifico formulario, todo funciona bien pero no lo envia a mi correo electronico, no se si es el servidor de iespana donde cargue mi pagina, que no lo permite o tengo algun problema en los codigos por favor cualquier aclaracion lo agradeceria. ¿por que existe un archivo index.php ? salu2


  • Oct
  • 14

# Escrito por ll hace 3 años, 5 meses

exelente el formulario, no entiendo que alguien diga que no funciona , es perfecto, gracias por difundir tus conocimientos. ll


  • Oct
  • 14

# Escrito por ll hace 3 años, 5 meses

no entiendo que es lo que hacen el formulario funciona perfectamente asi, no hay que cambiar nada, no hay que pensar nadar , de eso se encarga Alex, solo hay que cambiar el email, es todo, nuevamente gracias, es genial, excelente. ll


  • Oct
  • 14

# Escrito por ll hace 3 años, 5 meses

yo nuevamente, era tal mi emocion de haber encontrado semejante tutorial , que te cambie el nombre puse axel por alex , con el apuro lo lei al reves. buenisimo . e insisto funciona perfecto.


  • Oct
  • 26

# Escrito por david hace 3 años, 4 meses

Definitivamente no niego que es un excelente tutorial. pero no me ha servido la parte de los mensajes de error, me manda directamente el correo asi no diligencie ningun campo. de php no se nada de nada


  • Nov
  • 23

# Escrito por Martin hace 3 años, 3 meses

Hola Alex mira soy nuevo en esto de la web y toy haciendo una pagina q necesita formulario de contacto , segui tus instrucciones y cree los archivos php y js tal como dice ahi pero para poner el formulario en mi pagina de contacto como hago copio el codigo de contac??? me podrias explicar bien como es la cosa por favor :S gracias


  • Nov
  • 23

# Escrito por Anonimus hace 3 años, 3 meses

Que falta para que funcionen las opciones de validación de datos. Ya que lo he utilizado, pero no funciona esa opcion. Aun teniedo todo se envia super bien, pero si precionas send sale el formulario sin problemas aunque no tengas completado ninguna opcion


  • Nov
  • 25

# Escrito por PIO HEFNER hace 3 años, 3 meses

por fin me sirvio un codigo de una pagina de contacto, muchas gracias antes estab desinteresado por aprender php, pero me di cuenta el poder que tiene..y voy a aprender…ese lenguaje…en retribucion a esto …voya mejorar tu codigo.


  • Dic
  • 15

# Escrito por augusto hace 3 años, 2 meses

Ya ingresé pero no me funciona bien, será que me podes compartir los codigos completos actualizados nuevamente a mi e mail….. ferleny@hotmail.com


  • Ene
  • 05

# Escrito por laura hace 3 años, 2 meses

Hola! Graicas por compratir todo este material. Tengo una consulta para hcerte…Hice un formulario de pedido en flash con su respectivo php. Funciona ok. Pero necesito que en pedido me tome los enter, ya que cdo llegan los mensajes ( mails) en Pedido: de la pagina muestra todo de corrido en una linea, sabes como pdo hacerlo???? te pego el codigo que use: Gracias espero que sepas como ayudarme! lau


  • Ene
  • 05

# Escrito por laura hace 3 años, 2 meses


  • Ene
  • 09

# Escrito por carlos hace 3 años, 2 meses

bueno soy nuevo en PHP estoy tratando de hacer funcionar el formulario pero me sale los siguientes errores si pueden ayudarme

Notice: Undefined variable: str in c:\inetpub\wwwroot\pruebasphp\pruebformul\contact.php on line 41

Notice: Undefined variable: error in c:\inetpub\wwwroot\pruebasphp\pruebformul\contact.php on line 45


  • Ene
  • 12

# Escrito por Daniel hace 3 años, 2 meses

Hola alex,que tal? segui tu tutorial, en el fichero email.php cambie en los dos sitios la direccion user@example.com por la mia (aparece dos veces,solo se cambia ahi,no?) y al ejecutarlo, me sale el siguiente error: Warning: mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in c:\apache\htdocs\newton\email.php on line 58

Warning: mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in c:\apache\htdocs\newton\email.php on line 59 A ver si me puedes decir de que va el error,te lo agradeceria mucho. Un saludo y se feliz!!!


  • Ene
  • 30

# Escrito por Remp hace 3 años, 1 mes

a mi me pasa el mismo problema que ha carlos pero a mi me dice esto:

Parse error: parse error in D:\inetpub\vhosts\maravillasdedios.com\httpdocs\send.php on line 3

que tengo que hacer para que funcione?


  • Feb
  • 09

# Escrito por Fragmento hace 3 años, 1 mes

me funciona perfecto


  • Feb
  • 27

# Escrito por Pablo hace 3 años

Eres un crak, he entrado en esta web de casualidad, buscando un sistema para enviar correos con php. Cuan sorpresa la mía cuando me he topado con esta página!! Me encanta el diseño, los artículos, todas las cositas que tiene(y no se como se hacen).

Y, por cierto, me está siendo de gran ayuda el artículo


  • Feb
  • 27

# Escrito por MIke hace 3 años

Hola, me he bajado el archivo para los formularios, pero el contact.php donde lo meto? porque el explorer no me lo abre, q hago para tenerlo en html y que me funcione?, toy un poco liado, muchas gracias a todos y sobre todo a esta pagina.


  • Feb
  • 28

# Escrito por dani hace 3 años

muy útil el código que has propuesto. Gracias y felicidades por la página, es una bonita experiencia visitarla :-)


  • Mar
  • 16

# Escrito por Leandro hace 2 años, 12 meses

Hola, por favor, trate de hacerlo en miles de hosting gratuitos al formulario de contacto pero ninguno me lo acepta. creo que no tienen smtp …

Alguien o el mismo webmaster de este sitio me podria decir que alojamiento gratuito me permite hacer poder crear mis formularios de contacto a mi gusto como aqui lo plantean.

Mucgas Gracias


  • Mar
  • 26

# Escrito por pabla hace 2 años, 11 meses

sabes jenial el formulario pero al enviarlo no resibo mas ke los titulos de cada casilla… no resivo lo ek el usuario coloco en ellas… me puedes ayudar?


  • Mar
  • 29

# Escrito por juan miguel hace 2 años, 11 meses

no me funciona, no me envia el mesaje al que envia el mail diciendo que hemos recibido mensaje, y a mi me llega el ensaje vacio, solo los tituulos sin contenido ni nada

ayudame x favor con eso

es urgente


  • Abr
  • 05

# Escrito por iñaki lópez hace 2 años, 11 meses

a mi me va bien casi todo, ya que realizando los cambios y sin realizarlos se me envían perfectamente los mensajes pero sigue sin funcionarme correctamente la comprobación de los campos ya que si se deja alguno vacío lo único que hace ahora es enviarme a una pantalla (send.php) en la que aparece todo en blanco… si alguien pudiera ayudarme con eso se lo agradecería ;)


  • Abr
  • 27

# Escrito por manuel Alejandro Gonzalez hace 2 años, 10 meses

como creo un link dede un panel menu echo en flash a mi formulario


  • May
  • 01

# Escrito por Christian hace 2 años, 10 meses

gracias, el formulario está buenisimo… me facilitó mucho la pega.


  • May
  • 07

# Escrito por Edwin hace 2 años, 10 meses

Hola Alex, muy bueno este tutorial, solo tengo la pregunta de donde modificas o introduces el codigo para generar el asunto (subject) del correo?


  • May
  • 24

# Escrito por mario hace 2 años, 9 meses

BUENO HE SEGUID LOS CONSEJOS DE LOSD EMAS COMENTARISTAS Y BUENO ENCONTRADO UN ERROR EN LA LINEA DE send.php if($error) { include(“index.php”); } me hace referencia a un archivo index.php, el cual no aparece por ninguna lado, alguien puede ayuadrme asolucionarlo, a parte de eso todo corre como si se enviara el mensaje pero reviso y no llega ningun mensajes. gracias


  • May
  • 25

# Escrito por Ernesto hace 2 años, 9 meses

hola copie los formulario modifique mi email para que llegue ahi, pero no llega nada y cuando apreto enviar me sale el crtel que lo ha enviado correctamnete. estoy alojar en iespana.es soporta php cual es el problemas grascias


  • May
  • 30

# Escrito por Pepe Publicas hace 2 años, 9 meses

Excelente ayuda…dejame probarlo ok..!!!

saludos

Web


  • Jun
  • 01

# Escrito por pau hace 2 años, 9 meses

hola, necesito saber como hago un formulario para la seccion de recomienda a un amigo en flash , que diga tu nombre, tuemail, el nombre de tu amigo, el email de tu amigo, pero por php, para que sea directo y no se tenga que abrir la venana de outlok y que lleve un email oculto de la persona que lo va recibir


  • Jun
  • 30

# Escrito por Joe Tobar hace 2 años, 8 meses

Hola Alex, soy novato en esto de programacion php y me rompia literalmente la cabeza tratando de hallar soluciones, puse en practica tu formulario modificando la informacion necesaria y tambien añadiendo la hoja de estilos y voilá funciona. No entiendo mucho del tema pero puse como direccion email de destino un correo de mi mismo servidor y recibo los mensajes sin ningun problema. No lo he probado con correos dde servidores externos que talves y es solo un presuncion pueda ser la causa de que algunos de los usuarios los cuales no reciben los mensajes, tengan esos problemas. El script es fantastico y gracias por tu aporte.


  • Jul
  • 11

# Escrito por La Beau Clau hace 2 años, 8 meses

Hola Alex, muchas gracias por compartir tu codigo, la verdad yo no se mucho de php, sin embargo me lo piden a cada rato y no sabia como validar un formulario, como a todos, me pasaron los mismo problemas de validacion del formulario, asi que les comparto como me funciono a mi

en Contact.php hice las siguientes correcciones

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”email.php”>

lo cambie por

<

form id=”contact-form” method=”post” onsubmit=”return emailCheck(this.email.value);” action=”send.php”>

En var.js, hice lo siguiente

cambie for (i=0; i<domain.length; i++) {

por

for (i=0;

continua…


  • Jul
  • 11

# Escrito por La Beau Clau hace 2 años, 8 meses

siguiendo con el anterior

en var.js

if (domain.charCodeAt(i)>127) {

lo cambie por

if (domain.charCodeAt(i)>127) {

En send.php

cambie

if($text_len > 800) { $error .= “Lo siento, has superado el maximo de 800 caracteres en el cuerpo del mensaje. El numero total de caracteres es $text_len - por favor, acorta tu mensaje.”; }

por esto…

if($text_len > 800) { $error .= “Lo siento, has superado el maximo de 800 caracteres en el cuerpo del mensaje. El numero total de caracteres es $text_len - por favor, acorta tu mensaje.”; }

en email.php, como comentan arriba a partir de la linea 10 puse lo siguiente:

<?php
$headers = "From: $email";
  $message .= "
  De: $name $surname

Por ultimo resolvi en problema de send.php

if($error) { include(“index.php”); }

direccionandolo temporalmente a

if($error) { include(“contact.php”); }

Espero esto sirva de algo com oa mi me sirvio.

Saludos


  • Jul
  • 11

# Escrito por La Beau Clau hace 2 años, 8 meses

añado lo que se perdio en los comentarios anteriores

en var.js

for (i=0; i&l;domain.length; i++) {

se cambia por

for (i=0;

creo que cuando alex lo paso a esta pagina el < se desconfiguro o algo asi y por eso en el codigo que copiamos y pegamos no nos sale pues aparece en varias ocasiones algo como esto “&l;”

por ultimo en mail.php, en la linea 10 coloque lo siguiente

(incluyendo las demas variables: surname, email, url, phone, postcode, sub y text)


  • Jul
  • 27

# Escrito por Anonymous hace 2 años, 7 meses

Ante todo muchas gracias por compartir conocimientos.

Quisiera recibir una ayuda en relación a que las variables, $email, $name, $surname $url, etc llegan con valor nulo o vacio.

Por favor su ayuda.


  • Jul
  • 28

# Escrito por oscar ordenes gonzalez hace 2 años, 7 meses

Que alegria, funciono son las 4:40 am en chile y termine, se realizaron algunas correcciones que con mss calma las señalare.

Muchas Gracias


  • Ago
  • 07

# Escrito por Verona hace 2 años, 7 meses

Hola como estas?, oye pues muchisimas gracias por este grandioso tutorial, estuve buscando por mas de 10 hrs un tutorial que me explicara y nada, no encontraba algo que funcionara, y el tuyo si que me saco de apuros, muchas gracias de verdad!!! Saludos


  • Ago
  • 23

# Escrito por daniel alzate hace 2 años, 6 meses

primero muchas gracias por ese grandioso aporte has contribuido al desarrollo de pequeñas empresas en el diseño web y eso no lo hace cualquiera, tengo un pequeño inconveniente con separar la parte de datos personales con envia tu mensaje ya que este queda uno encima del otro. he tratado de modificarlo con dreamweaver pero despues de hacerlo se jode el codigo y no envia nada.


  • Sep
  • 11

# Escrito por Franz hace 2 años, 6 meses

Hola Alex Gracias a ti me dan ganas de hacer tutoriales pues el conocimiento es de toda la humandidad un Saludo desde Lima Peru


  • Oct
  • 27

# Escrito por alejandro ariel baur hace 2 años, 4 meses

Exelente este sitio y estoy tratando de implementar el formulario de contacto PHP, ya que el que actualmente esta incompleto y busco algo bien hecho como lo tuyo. Muchisimas gracias gente como tu valen la pena. Cuando la net se vuelve algo de intercambio solidario esta bueno!!!

el sitio donde lo implementare en breve… www.sancarlosdebariloche.info

una pagina diseñada y desarrollada por mi sobre cartografia planos y mapas de San Carlos de Bariloche, algo asi como el paraiso en la tierra.

Saludos…. y muchas gracias!!!


  • Oct
  • 31

# Escrito por NFSHamachi hace 2 años, 4 meses

Buen tutorial me funciono a las mil maravillas gracias por el Formulario de contacto de .PHP


  • Nov
  • 07

# Escrito por aristides hace 2 años, 4 meses

Hola Alex e visto y copiado tu formulario con todas las indicaciones que das para su uso y me funciona el nico problema es que los mail me llegan en blanco, cual seria la solucin para esto y agradezco mucho tu ayuda en la formacin, ya que cuando uno esta empezando a programar las personas como tu son una gran solucion


  • Dic
  • 07

# Escrito por Arlyne hace 2 años, 3 meses

Hola gracias por tu aporte, deseo utilizarlo en la página web que estoy construyendo


  • Dic
  • 12

# Escrito por CARLOS hace 2 años, 3 meses

HOLA REALMENTE YO ESTOY EN LA LUNA NOSE DODNE COLOCAR ESOS 4 ARCHIVOS QUE CREE, EN QUE CARPETA DEL SERVIDOR Y YO ME PREGUNTO DODNE ESTA EL ARCHVIO HTML, TODO ESTO ES UN ENROLLO, HABER SI LEGO A COMPRENDER PRONTAMENTE TODO ESTO :P BYEEE


  • Ene
  • 15

# Escrito por german mendez gonzalez hace 2 años, 1 mes

muchas gracias por el scrip, soy un novato en esto de los scrips y ahun asi me fue muy facil utilizarlo gracias a tu esplicacion tan buena

German Mndez G. Costa Rica


  • Feb
  • 08

# Escrito por Anonymous hace 2 años, 1 mes

Hola, e seguido sus comentarios y e tratado de aplicar los cambios que ustedes dicen… pero sin efecto.. si alguien es tan amable, de subir los archivos ya modificados, ya sea en un zip o de forma individual. seria muy muy amable y se lo agradecería…

Perdón la molestia y saludos a todos…


  • Feb
  • 18

# Escrito por jovani hace 2 años

ya veo ke este post tienes mas de 2 años y medio y aun siguen entrando hojale y alguien no haga kaso jiji

haber si el ke modifico los archivos pa ke uncionaran mejor

los puede suir en zip para nosotros ke no sabemos mucho de php graciass!


  • Feb
  • 18

# Escrito por pablo hace 2 años

hola, quisiera saber en q parte debo poner mi email

gracias


  • Feb
  • 18

# Escrito por jovani hace 2 años

porfavor aver si alguien me puede ayudar los script tiene 2 errorrres

nada mas esto me falla todo lo demas excelente

mira envio el mensage y me llegan bien a mi mail pero

linea 70 no imprime lo que se a escrito de cuerpo de mensage

y tmb sale esto cuando en la pagina de grcias por enviar el mail ay error en

Warning: mail() [function.mail]: SMTP server response: 550 Delivery is not allowed to this address. in I:\FerozoWebHosting\frikas.net\public_html\FormContactoAlexSancho\email.php on line 114


  • Feb
  • 20

# Escrito por Manuel hace 2 años

Hola Alex, quería decirte que he probado tu código para enviar formularios y cuando le doy a enviar, resulta que me lleva a la página email.php pero se queda en blanco y luego además no recibo el email. Alguna idea de por qué puede ser?


  • Feb
  • 22

# Escrito por Anonymous hace 2 años

El formulario esta muy ien pero a la hora que me llega el correo no me coloque la información del usuario solo los titulos donde debería ir la información


  • Feb
  • 24

# Escrito por Angie hace 2 años

Excelente pagina, excelentes aportes. Muchas gracias


  • Feb
  • 28

# Escrito por Anonymous hace 2 años

Excelente tutorial, me ha servido muchisimo, gracias por tu aporte!!!!


  • Mar
  • 03

# Escrito por jesus pizano hace 2 años

realice todos los pasos lo pruebo y me indica que el mensaje ha sido enviado pero no me aparecen en mi bandeja de entrada, k mas ago


  • Mar
  • 05

# Escrito por X Bit Carry hace 2 años

Excelente! Lo acabo de probar y funciona! Con tu permiso, lo voy a adecuar para mi sitio. Thank’s.


  • Mar
  • 07

# Escrito por Jorge hace 2 años

Antes de nada, gracias por compartir. Me funciona todo bien “salvo” que cuando recibo el mail con los datos, me llegan vacíos, tal que así.

De:
E-Mail: Telefono: Codigo Postal: Pagina Web: Desde : ____________________________________ Podéis echarme un cable??

Un saludo!!!!


  • Mar
  • 10

# Escrito por Fabian Montenegro hace 2 años

Hola, muy buena la información, la estaba buscando desde hace mucho tiempo. Me Resulta a la perfeccion. Saludos, y ahora a adornarlo y adecuarlo a mi web. Chau


  • Mar
  • 14

# Escrito por Mar hace 1 año, 12 meses

Gracias por compartir tus recursos.

He utilizado tus archivos para realizar un formulario para una de nuestras webs.

Debo decir que sin tener prácticamente ningún conocimiento de PHP no me ha resultado dificil hacer las modificaciones oportunas y que todo funcione. Me han ayudado también algunos comentarios de tus lectores. Gracias a ellos también.

Solamente me queda una cosa por resolver, no consigo que se impriman los resultados del formulario en email.php. en su lugar aparece la siguiente línea “undefinedundefinedundefined” y a continuación las gracias, etc, etc., todo correcto. Estoy segura que es un error mio pero no consgo averiguar que parte del archivo email.php tengo que modificar para que esto se corrija.

Gracias de nuevo y un saludo.


  • Mar
  • 14

# Escrito por Mar hace 1 año, 12 meses

Corrijo lo dicho hace un rato. Efectivamente se envia la “copia” del correo con los datos del formulario a la dirección del usuario.

¿A qué se deben entonces los tres undefined que aparecen en la cabecera de la página email.php?

Eso es lo único que me queda por cuadrar.


  • Mar
  • 21

# Escrito por Tato hace 1 año, 11 meses

Que tal alex:

Bueno he estado checando tu codigo, y bueno todo esta bien, salvo que no logro hacer que me lleguen los correos a la direccion asignada, me pueden ayudar pls.

gracias y saludos


  • Mar
  • 22

# Escrito por DamionKutaeff hace 1 año, 11 meses

Hello everybody, my name is Damion, and I’m glad to join your conmunity, and wish to assit as far as possible.


  • Abr
  • 19

# Escrito por Anonymous hace 1 año, 10 meses

Hola, primero que todo saludar y felicitar a Alex por tan excelente aporte.

Para los que aún tienen problemas con el formulario, recuerden que si lo están probando en local, es decir en su computador, no envía correos porque deben tener el servicio SMTP para ello, también mencionar que para capturar las variables, dependen de si en el php.ini tiene REGISTER_GLOBALS en OFF o en ON.

en OFF

$email = $_POST[‘email’];

en ON

$email = $email;

Los comentarios anteriores me han servido mucho para solucionar algunos impases que tube a la hora de implementarlo, gracias a todos.


  • May
  • 06

# Escrito por MART hace 1 año, 10 meses

hola alex, muy buen tutorial, bastante prolijo en realidad tengo el problema que leyendo los otros comments es bastante comun y nadie los responde, LLEGAN LOS MAILS PERO SIN LOS DATOS LLENOS, alguien o vos podras orientarnos en eso?


  • May
  • 08

# Escrito por alejandra hace 1 año, 10 meses

gracias, me salvaste la vida, muy buen tutorial, gracias!!!!


  • May
  • 08

# Escrito por alejandra hace 1 año, 10 meses

gracias, me salvaste la vida, muy buen tutorial, gracias!!!!


  • May
  • 24

# Escrito por anghel hace 1 año, 9 meses

hize lo que tu dijiste, y si me cargo en mi web, pero sabes, solo me llega los indices no me llega los datos que ingreso….

…cuando yo levanto en miservidor yo lo grabo el archivo contact.php y lo exporto como index.html y asi con esta pagina yo lo arranco….

aun asi si recibo en mi correo el esquema mas no la informacion…

que hize mal??

muchas gracias por compartir esta informacion,,,,,,


  • Jun
  • 08

# Escrito por Rodrigo Morales hace 1 año, 9 meses

hace 1 semana sin saber nada creee mi propia web tu formulario es lo unico que encontre para solucionar el ultimo problema que tenia, pero los correos me llegan sin contenido, agradecere tu ayuda, o guia para saber donde encontrarla gracias, desde chile.


  • Jul
  • 12

# Escrito por sergio alvarez hace 1 año, 8 meses

hola en formulario que puso el amigo esta bien pero no funciona osea no envia mensaje al destinatario por favor si algen sabe como configurar este formulario es esta mi url http://delsergio.uni.cc/contact.php ahi esta por segui en el mismo diectorio los ddemas archivos como send.php en viarmelos si algen lo sabe o le funciono bien a mi correo admin@delsergio.uni.cc


  • Ago
  • 05

# Escrito por Juan Pablo hace 1 año, 7 meses

Gracias, tu formulario es una gozada


  • Sep
  • 21

# Escrito por Guillermo hace 1 año, 5 meses

Hola. Como aún no se programar en php, copio tu codigo. Gracias por subirlo porque es de suma utilidad.

Por otro lado, no habiendo hallado los elementos de diseño (hoja de estilo), busqué la referencia en el codigo fuente del formulario que publicaras.

Espero tu consentimiento para utilizarla, siendo que tampoco sé como generar hojas de estilo todavía. Saludos, Guillermo.


  • Sep
  • 22

# Escrito por Guillermo hace 1 año, 5 meses

Encontré el error de la validación. No se corrige al escribiente porque esta mal escrito el comando en el archivo send.php

En los primeros renglones, cada vez que dice $error, hay que reemplazar y escribir $echo.

En cuanto al archivo index.php, puedo decirles que sirve como pagina en donde imprimir el error. Por lo tanto, hay que volver a cargar contact.php, en vez de index.php

Otro tema. Según lo comentado en otros posteos, hay que cambiar el “email.php” por “send.php” para que el archivo “send” valide los campos. Esto se hace en contact.php .


  • Sep
  • 22

# Escrito por Guillermo hace 1 año, 5 meses

Me desdigo. Hay que mantener $error , no combiar por $echo. Por alguna razón al corregir y descorregir ahora funcionan las alertas… Cosas impensables.


  • Sep
  • 26

# Escrito por Lucas hace 1 año, 5 meses

Hola. Estuve probando el formulario y he tenido problemas para hacerlo funcionar, de hecho, nunca logré que funcione. Tendría la amabilidad alguien de enviarme un ejemeplo en formato ZIP o RAR? Desde ya muy agradecido. Saludos,

Lucas


  • Nov
  • 07

# Escrito por carlos hace 1 año, 4 meses

Hola yo quiero saber si alguien me puede ayudar , si es posible para que me vayan explicando paso por paso por fabor les dejo un mail para contactarse gracias ayuda@spainforos.com


  • Nov
  • 10

# Escrito por Josué hace 1 año, 4 meses

señores, que tal, nada mas quisiera solicitar su ayuda, hay un error en uno de los archivos ya que las direcciones no se verifican….!!! podria alguien ayudarme…??

de antemano gracias…!!!


  • Nov
  • 20

# Escrito por fabian Arevalo hace 1 año, 3 meses

si señores como dice nuestro amigo Juan Manuel..lo unico que hace falta para que no nos llegue emails en blanco. es capturar las variables. y listones…


  • Nov
  • 20

# Escrito por gonzalo hace 1 año, 3 meses

update: para que el formulario funcione hay que tener la opcion “register_globals” habilitada en el php.ini

¿Cómo hago esto? Perdón pero soy principiante y necesito que funcione si o si.


  • Ene
  • 02

# Escrito por anarko hace 1 año, 2 meses

gracias por kompatir este formulario… es ralmente bueno…. lo probare para ver kmo funciona….

saludos y nuevamente gracias!


  • Ene
  • 07

# Escrito por David hace 1 año, 2 meses

Es perfecto, un formulario simplemente perfecto, pero yo necesito algo más complejo.

Necesito que en el formulario, el usuario pueda escribir una dirección de correo a la que enviar el mail y que el emisor sera por ejemplo webmaster@miweb.com. Es decir, yo soy un usuario que llega a mi web y quiero enviar mediante ese formulario un correo a pepito@pepito.com y que cuando le llegue a pepito@pepito.com ponga que el mail ha sido enviado por webmaster@miweb.com No se si me explico.. nadie me ayuda!


  • Ene
  • 17

# Escrito por arsenio hace 1 año, 1 mes

Hola gracias por tu aporte, deseo utilizar el formulario en la página web que estoy construyendo. Cres que puede ser?


  • Feb
  • 21

# Escrito por hugo hace 1 año

hola queria saludarte y agradecerte por tu colaboración


  • Feb
  • 21

# Escrito por Rodrigo hace 1 año

Hola.

Muchas gracias por el formulario. Lo implementé y me funciona, salvo por un problema: me llegan los datos en blanco.

¿Me pueden ayudar por favor? Gracias!


  • Mar
  • 04

# Escrito por jose hace 1 año

disculpame no entendi esto update: para que el formulario funcione hay que tener la opcion “register_globals” habilitada en el php.ini

q tengo q hacer??


  • Mar
  • 18

# Escrito por Juan hace 12 meses

esta excelente pero me manda em mensaje sin datos del usuario


  • Abr
  • 01

# Escrito por RICARDO hace 11 meses, 2 semanas

Buen dia amigo, ya solucione el problema, ahora lo que me esta pasando con este formulario es que me llegan los correos sin nada de informacion, osea en blanco, sera que me podes ayudar con este problema??? muchas gracias..


  • Abr
  • 05

# Escrito por manuel hace 11 meses, 1 semana

hola, me sirvio mucho el codigo alex asi q gracias desde ya. (te robe el fondo del boton de enviar, si te molesta mandame un mail y lo cambio no hay problema). ahora, le tuve que hacer bastantes cambios al codigo original para que ande y para adaptarlo un poco a mis necesidades. pongo algunos por si les sirven a los usuarios q tenian problemas:

-en el contact.php cambie la propiedad action=”email.php” por action=”send.php” para que se verifiquen los campos

-en el send.php cambie (en la linea 35) include(“index.php”); por include(“contact.php”); eso le dice donde imprimir los mensajes de error al dejar un campo vacio

-en el email.php cambie (linea 56) user@example.com por mi mail, ese es el unico lugar donde hay q poner donde queremos q llegue el mail.

-y despues por una cuestion estetica, cambie un poco el codigo para que al enviar el mail exitosamente no me abra otra pagina sino q diga abajo del contact.php “correo enviado exitosamente” o algo asi. (esto no lo explico porque es medio largo pero si a alguien le interesa que me avise)

bueno si me acuerdo de otros cambios los agrego pero creo q con esos ya les tendira q fucionar bien.. gracias alex por el codigo base!


  • Abr
  • 14

# Escrito por digital hace 11 meses

no hay nadie que haya corregido los cambios y comparta los archivo? que con tantos cambios no me aclaro


  • May
  • 21

# Escrito por augusto hace 9 meses, 3 semanas

GENIAL!! LO QUE BUSCABA! UNA EXPLICACION PERFECTA!!

ME SALIO REDONDITOOOOO!!!


  • May
  • 25

# Escrito por Jhon Garcia hace 9 meses, 3 semanas

Hola, lo primero gracias por los codigos que cuelgas en la red. estoy ahora mismo con el formulario de contacto con PHP pero no he podido hacer que me llegue la informacion que se introduce en el fomrulario, me llegan solo los titulos de los campos, nombre, direccion, tel.etc, no se que tengo que cambiar y me estoy volviendo loco, me puedes hechar un cable.

Muchas gracias. un saludo.


  • Jun
  • 10

# Escrito por Jesus hace 9 meses

Muchas gracias por el codigo, si funcionó muy bien, solo le tuve que agregar las declaraciones:

$email = $_POST[“email”]; $name = $_POST[“name”]; $surname = $_POST[“surname”]; $phone = $_POST[“phone”]; $postcode = $_POST[“postcode”]; $url = $_POST[“url”]; $title = $_POST[“title”]; $sub = $_POST[“sub”]; $text = $_POST[“text”];

ya que mis variables globales están en OFF.

Gracias!


  • Jun
  • 23

# Escrito por Roxi hace 8 meses, 3 semanas

Hola, muy bueno el tuto pero… alguien me puede explicar porque no me devuelve los resultados ingresados? no se si se trate de declarar porque ya no intente sin ningún resultado… quizas sea eso de php.ini pero no se como hacerlo… alguien sería tan gentil de ayudarme? gracias


  • Jun
  • 25

# Escrito por oskar hace 8 meses, 3 semanas

Hola y saludos oye necesito saber como: 1ero usas los wraps q me imagino son para centrar todo el formulario como lo tienes en el ejemplo 2do como puedo centrar toda mi pagina web como lo tienes aqui esas son mis dudas, yo quiero aprender y se q si me puedes ayudar mis web quedaran mas chingonas cada dia q pase


  • Jun
  • 25

# Escrito por alex hace 8 meses, 3 semanas

En primer lugar gracias por compartir tus conocimientos. Estoy iniciandome en el diseño web y me está siendo de gran utilidad.

He seguido el tuto al pie de la letra y me encuentro con el siguiente problema:

Gracias! Tu mensaje ha sido enviado, usando la direccion de remitente

Si no es correcto, vuelve atras y envialo de nuevo

Volver a la página de inicio.

Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\Archivos de programa\xampp\htdocs\contacto1\email.php on line 55

Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\Archivos de programa\xampp\htdocs\contacto1\email.php on line 56

Entiendo que debe ser problema de la config de mi php pero de momento no he logrado encontrarle la punta. Agradecería mucho cualquier tipo dde ayuda por tu parte.

Gracias.


  • Jul
  • 14

# Escrito por alfredo pinzon hace 8 meses

hola amigo necesito poner el formulario en mi pag pero soy totalmente novato en sto y no se donde debo hacer los cambios de direccion para que me funcione gracias por la ayuda si me puede indicar donde debo haer los cambios


  • Jul
  • 17

# Escrito por Mary hace 7 meses, 4 semanas

Hola, estoy muy cruda en esto y pues traté de hacer tu formulario y me sale bien menos cuando veo el email al que se envían los datos me sale en blanco, sin la información que ingresé en el formulario, no se mucho de programación. Me ayudas porfa?


  • Ago
  • 10

# Escrito por Judith Martinez hace 7 meses

Muchas gracias por los códigos, realmente me ayudaste muchisisimo!!..mil gracias!!


  • Ago
  • 11

# Escrito por Anonymous hace 7 meses

hola me gusto el mensaje que dejaste en el codigo de la pagina. kisiera comunicarme con tigo antes de tomarlos. porfavor agregame a ti msn el mio es osvaldothebest@hotmail.com


  • Ago
  • 11

# Escrito por Patricio hace 7 meses

Ayuda! Nos e como hacerlo.. he intentado por dias como hacer un formulario php y no me resulta. simplemente, los correos nunca llegan. (el php y todo me dice que ha sido enviado)…

¿que me falta?


  • Sep
  • 10

# Escrito por Jose Fraile hace 6 meses

Me parece que puede ser la solucion a mis problemas si consigo que funcione Como puedo hacer para activar tu recomendacion:para que el formulario funcione hay que tener la opcion “register_globals” habilitada en el php.ini Espero respuesta con impaciencia


  • Sep
  • 15

# Escrito por kingrichards hace 5 meses, 4 semanas

Well, I’ve been around since the days of Meso and before. I’m a vet and a heavily contributing member over on Outlaw. I;m already VERY impressed with the volume on this board and that resources available! I hope to make some friends and maybe help some people out..Take care!


  • Sep
  • 15

# Escrito por Marlon hace 5 meses, 4 semanas

Saludos desde La libertad -Trujillo Perú, el motivo por el que te escirbo es que necesito saber si podrias ayudarme con tu codigo, ya que intente ponerlo en marcha pero no en tenido mucho exito, te agradeceria puedas contectarte conmigo para que me puedas ayudar, gracias de ante mano muchos exitos…


  • Sep
  • 26

# Escrito por Claudio Urrutia hace 5 meses, 2 semanas

uy bueno el formulario, aunque no he podido hacer que funcione, ni siquiera he podido hacer que envie nada, todo sale en rojo acusando que no escrito nada, seria de mucha ayuda si me pudieras dar una mano sobre eso, ya tienes mi correo y espero tener una respuesta favorable, gracias de ante mano


  • Nov
  • 04

# Escrito por Sh4v hace 4 meses, 1 semana

Hola Alex!

Una preguntilla! cuando dices que register_globals tiene que estar ON en el php.ini, has comprobado bien si las variables han sido inicializadas antes? podría suponer un riesgo de seguridad no haberlo hecho :S¡

Por cierto, este blog ha sido programado por tí?

Un saludo :)


  • Nov
  • 19

# Escrito por Martín Riva hace 3 meses, 3 semanas

Hace unos años que vengo viendo tutoriales y códigos y este ha sido uno de los mejores que vi en cuanto formularios. Muchas gracias por el aporte.

Saludos, desde Buenos Aires.


  • Nov
  • 24

# Escrito por Anonymous hace 3 meses, 2 semanas

Gracias por la explicación detallada! lo andaba buscando y no entendía mucho de esto.. muy atento de tu parte :) Felicitaciones por el sitio!


  • Dic
  • 01

# Escrito por juan karajallo hace 3 meses, 1 semana

Mucho no entiendo sobre este tema pero muy detallada la explicación, muy agradecido de mi parte.. después de unos arreglos, me tome el atrevimiento de “imitar” el formulario, quisiera pedirte permiso para poder usarlo (de hecho ya lo estoy usando) En caso contrario quisiera pedir disculpas si no lo puedo usar, y si me avisas, con gusto buscaré otro y lo sacaré :) por si quieres pasar a ver: http://www.palacios.com.py/pr/contacto.php

Una vez más agradecido por compartir tus trabajos, saludos.


  • Dic
  • 23

# Escrito por julio hace 2 meses, 2 semanas

Hola mira mi pregunta es la suguient yo estoy haciendo una url com driamveavercs3.y me gustaria saber si puedo coiar tu codigo del formulario;y si lo tengo que hacer com php o lo puedo pobner directamente una ves que cambvie los datos con mi nombre y email ect,ect hacerlo definitivamente com html este mismo o si lo tengo que exportar desde php a html te estaria sumamente agradecido pues el hacerme la pagina no a sido ningun plobrema pues tengo algo de idea la que veras es una pagina aparte pero la mia la subire definitivamente cuando tenga el formulario que es realmente lo que me falta para terminar mi yrl en html con driamveavercs3.

Te estaria muy agradecido si me orientasen algo .

Atte julio muñoz


  • Dic
  • 26

# Escrito por john hace 2 meses, 2 semanas

Hola… voy a tratar de incluir este formulario en mi web para hacer algunas pruebas, muchas gracias por tu aporte


  • Ene
  • 02

# Escrito por alex hace 2 meses, 1 semana

hola tocayo

me gusto tu ejemplo pero me gustaria ver si puedes colgarlo en un archivo zipeado ya que no me funcioo tu ejemplo y debe ser algo de donde lo copie directo de tu pagina

se agradece el formulario

saludos


  • Ene
  • 13

# Escrito por TM2K4 hace 1 mes, 4 semanas

Hola a todos: Logre hacer correr el formulario aplicando lo siguiente (de post anteriores)

En el contact.php cambie la propiedad action=”email.php” por action=”send.php” para que se verifiquen los campos

-en el send.php cambie (en la linea 35) include(“index.php”); por include(“contact.php”); eso le dice donde imprimir los mensajes de error al dejar un campo vacio

-en el email.php cambie (linea 56) user@example.com por mi mail, ese es el unico lugar donde hay q poner donde queremos q llegue el mail.

-y despues por una cuestion estetica, cambie un poco el codigo para que al enviar el mail exitosamente no me abra otra pagina sino q diga abajo del contact.php “correo enviado exitosamente” o algo asi.

Por otra parte, lo que si era clave, era activar que se recibieran los datos con :

$email = $_POST[‘email’]; $name = $_POST[‘name’]; $surname = $_POST[‘surname’]; $phone = $_POST[‘phone’]; $postcode = $_POST[‘postcode’]; $url = $_POST[‘url’]; $title = $_POST[‘title’]; $sub = $_POST[‘sub’]; $text = $_POST[‘text’];

OJO: que es con ” , ya que en un post anterior, una respuesta muy buena lamentablemente coloco “”

Eso seria, ojala les funcione.

Saludos


  • Ene
  • 14

# Escrito por Luis hace 1 mes, 4 semanas

Muchas gracias por los códigos, sali de varias dudas que tenia !


  • Ene
  • 15

# Escrito por quik hace 1 mes, 3 semanas

Agradeceria si alguien me mandase los archivos en un rar funcionando perfectamente, mi mail es quiksoul@hotmail.com

gracias


  • Ene
  • 23

# Escrito por Rene hace 1 mes, 2 semanas

Hola, eh batallado con el formulario, alguien me puede enviar uno que ya le este funcionando porfavor!! mi correo es design@acupuntura.com.mx Saludos!! y gracias


  • Ene
  • 27

# Escrito por marco r hace 1 mes, 2 semanas

Hola he tratado como dos semnas en intentar ahacer funcionar los codigos y se caen. he visto que distintas versiones (o correciones) y no se cual es la definitiva. Por favor podrian enviarme una version que este funcionando. Y tambien si quiero gregar un nuevo campo en el formulario, en que codigos u archivos debo agregar codigos de los campos adicionales. Gracias. Marco. mr1marco@yahoo.cl


  • Feb
  • 02

# Escrito por cesar negrete hace 1 mes, 1 semana

Excelente formulario solo tengo un duda me llegan el correo a mi cuenta pero no me apracen los datos que introdusco en los campos me puedes ayudar con eso. gracias,


  • Feb
  • 10

# Escrito por Xero hace 1 mes

Completisimo… gracias por los codigos, en serio son de mucha utilidad.

GRACIAS


Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.