CelulaWeb

Formulario de contacto

Formulario de contacto

Este es un sencillo pero funcional script que sirve para contactar con el webmaster, tiene entre sus funciones la de validar que el formato de correo ingresado sea el correcto y que el resto de campos no estén en blanco. Todo ello hecho en PHP.

Este script cuenta con dos archivos, uno es la función para validar que el correo ingresado sea de un formato correcto y el otro es el formulario propiamente dicho con la función que enviará los datos al correo del webmaster. Es de fácil instalación e implementación amén de ser mejorable sólo necesitas copiar el código fuente que pondré a continuación y pegarlo en tu editor web preferido. Empezamos...

Lo primero como dije anteriormente será crearnos una pequeña función que validará que el correo ingresado esté en un formato correcto del tipo nombre@dominio.com

valida_email.php


<?php
  
function email_valido($correo) {
    if (
eregi("^[_\.0-9a-z-]+@[0-9a-z\._\-]+\.[a-z]{2,4}$"$correo)) return true;
    else return 
false;
  }
?>

contactar.php


<?php 
  
if($enviar) {  // si se ha pulsado en el botón enviar
    
include('valida_email.php'); // incluimos el archivo que contiene la función que valida la dirección de correo
    
if($_POST['nombre'] == '') {
      echo 
"No has ingresado tu Nombre.";
    }elseif(
$_POST['email'] == '') {
      echo 
"No has ingresado tu Email.";
    }elseif(!
email_valido($_POST['email'])) {
      echo 
"El Email ".$_POST['email']." no es una dirección válida.";
    }elseif(
$_POST['asunto'] == '') {
      echo 
"No has ingresado el Asunto del mensaje.";
    }elseif(
$_POST['mensaje'] == '') {
      echo 
"No has ingresado el Mensaje.";
    }else {
      
mail ("tucorreo@tupagina.com""$asunto""$mensaje""From: $nombre <$email>"); // coloque aquí su correo 
      
echo '<div style="text-align: center;">El email ha sido enviado con éxito.</div>'
    }
  }
?>
<form method="post" action="contactar.php">
  <label>Nombre / Nick:</label>
  <input type="text" name="nombre" />
  <label>Email:</label>
  <input name="email" type="text" size="45" />
  <label>Asunto:</label>
  <input name="asunto" type="text" size="60" />
  <label>Mensaje:</label>
  <textarea name="mensaje" cols="80" rows="10"></textarea>
  <p style="padding-top: 5px;"><input type="submit" name="enviar" value="Enviar Mensaje" />
  <input type="reset" name="enviar" value="Borrar datos" /></p>
</form>

Como se habrán dado cuenta no es nada difícil, este script es mejorable, pero así como está hecho de momento funciona muy bien, espero les pueda servir.

Comentarios

  • Supremo dijo:
  • el 10 de Abr. del 2007 a las 22:30

Haber... dices que en el archivo: valida_email.php va lo siguiente:

<?php
function email_valido($correo) {
if (eregi("^[_\.0-9a-z-]+@[0-9a-z\._\-]+\.[a-z]{2,4}$", $correo)) return true;
else return false;
}
?>


Todo esta muy bien, solo que cuando edites algo hazlo bien, ya que $correo esta mal, no es $email ? ya que como piensas validar el e-mail del visitante si le das otro nombre la funcion para validar el email?

Otra cosa... por que usar el include() para verificar el correo? no puedes agregarlo en el mismo archivo contactar.php ?

  • luisa dijo:
  • el 22 de Ago. del 2008 a las 12:10

como corrijo un error en el formulario de contacto?

aparece el siguiente mensaje:

Call to undefined method PEAR_Error::send()

  • TUTI dijo:
  • el 8 de Abr. del 2009 a las 14:09

Necesito que me ayuden con un codigo lo antes posible. tengo una plantilla hecha en dreamweaver y realice un php. Me manda por mail el formulario bien, el tema es q no me esta tomando los campos obligatorios ni se como hacer para que tome los checkbox....

Comentar