Ver Mensaje Individual
  #22 (permalink)  
Antiguo 07/09/2005, 17:56
Avatar de Bytevamp
Bytevamp
 
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('ErrorEl 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']; 
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches