07/09/2005, 17:56
|
| | | Fecha de Ingreso: junio-2005 Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses Puntos: 7 | |
Cita:
Iniciado por arcanis DVD me encanta tu script y he intentado usarlo pero me da este error
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /datos/home/galiciat/public_html/tintoreria/mail.php on line 46
Este es el script que uso despues de adaptarlo:
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: <textarea type=text name="mensaje" cols=32 rows=6></textarea> <br /> <input type=submit value="Enviar" name="submit"> </form> Aqui va el form con el atributo name correspondiente en cada campo <?php }?> La linea 46 es la del $mensaje=
A ver arcanis, el fallo es el siguiente(creo), esa linea deberia ser: Código PHP: $mensaje=$nombre.$_SERVER['REMOTE_ADDR']."envia el siguiente mensaje \n". $_POST['mensaje']; |