08/09/2005, 03:27
|
| | | Fecha de Ingreso: diciembre-2004
Mensajes: 11
Antigüedad: 19 años, 4 meses Puntos: 0 | |
Gracias funciona bien como tu dijiste, aunque he tenido que limpiar mas codigo ahora funciona perfectamente o por lo menos a mi me funciona, lo pongo por si alguien quiere usarlo.
mail.php Código PHP: <?php /*Función para validar e-mail con Exprexiones Regulares*/ function check_email($email) { //caracteres permitidos en el nombre: 0-9a-Z-._ en el host: 0-9a-Z-. entre los 2: @ if (!preg_match('/^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/', $email)) return False; //Nombre debe empezar con algún caracter alfanumerico if ( preg_match('/^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/', $email)) return False; //Nombre debe terminar con algún caracter alfanumerico if (!preg_match('/([0-9a-zA-Z_]{1})\@./',$email) ) return False; //Host debe empezar con algún caracter alfanumerico if (!preg_match('/.\@([0-9a-zA-Z_]{1})/',$email) ) return False; #Par .- or -. or -- or .. no permitidos if ( preg_match('/.\.\-.|.\-\..|.\.\..|.\-\-./',$email) ) return False; #Par ._ or -_ or _. or _- or __ no permitidos if ( preg_match('/.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./',$email) ) return False; #Host debe terminar con '.' más 2-5 alfa para TopLevelDomain if (!preg_match('/\.([a-zA-Z]{2,5})$/',$email) ) return False; return True; } /*Si se le dio al boton submit*/ if (isset($_POST['submit'])) { //revisa si no estan vacios los campos if (!empty($_POST['nombre']) && !empty($_POST['asunto']) && !empty($_POST['mensaje'])) { //revisa si el e-mail es valido if (check_email($_POST['email'])) { //asigno variables para el envio $para = "[email protected]"; $email = $_POST['email']; $nombre = $_POST['nombre']; $asunto = $_POST['asunto']; $mensaje="$nombre (".$_SERVER['REMOTE_ADDR'].")envia el siguiente mensaje \n".$_POST['mensaje']; $headers = "From: $nombre \r\n"; $headers.= "To:$para\r\n"; //envio el mail if (mail($para,$asunto,$mensaje,$headers)) { //si se pudo enviar echo "<script language=\"javascript\" type=\"text/javascript\">alert ('Gracias por tus comentarios')</script>";} else{ //si no se pudo enviar echo "<script language=\"javascript\" type=\"text/javascript\">alert('Error: El e-mail no pudo ser enviado')</script>";} } else{ //si el e-mail no es valido echo "<script language=\"javascript\" type=\"text/javascript\">alert('El e-mail debe ser valido')</script>";} }else{ //si algun campo quedo vacio echo "<script language=\"javascript\" type=\"text/javascript\">Alert('Debes rellenar todos los campos')</script>";} }else{ ?> <form action="<?php $PHP_SELF ?>" method=post> Nombre: <input type=text name="nombre" size=16> <br /> Tu Email: <input type=text name="email" size=16> <br /> Asunto: <input type=text name="asunto" size=16> <br /> Comentarios:<br /> <textarea name="mensaje" cols=50 rows=8></textarea> <br /> <input type=submit value="Enviar" name="submit"> </form> Aqui va el form con el atributo name correspondiente en cada campo <?php }?> |