Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/08/2010, 00:06
Avatar de truman_truman
truman_truman
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Formulario contacto PHP-HTML no quiere funcionar

Te paso lo que yo uso que me funciona bien, cambiale el nombre al campo de texto del mail (E-mail) y ponele email, porque creo que ese nombre no es valido

Código PHP:
      <?php
      
      
                
function ValidarDatos($campo){
      
//Array con las posibles cabeceras a utilizar por un spammer
      
$badHeads = array("Content-Type:",
      
"MIME-Version:",
      
"Content-Transfer-Encoding:",
      
"Return-path:",
      
"Subject:",
      
"From:",
      
"Envelope-to:",
      
"To:",
      
"bcc:",
      
"cc:");
      
//Comprobamos que entre los datos no se encuentre alguna de
      //las cadenas del array. Si se encuentra alguna cadena se
      //dirige a una página de Forbidden
      
foreach($badHeads as $valor){
              if(
strpos(strtolower($campo), strtolower($valor)) !== false){
                        
header"HTTP/1.0 403 Forbidden");
                        exit;
                                                                        }
                                 }
}
//Ejemplo de llamadas a la funcion
ValidarDatos($_POST['Nombre']);
ValidarDatos($_POST['Empresa']);
ValidarDatos($_POST['email']);
ValidarDatos($_POST['mensaje']);

  
      
      
      
      
      
      
      
      
 function 
validar_email($email) {
    return 
preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/'$email);
}


$email=$_POST['email'];
$asunto="ACA PONER EL ASUNTO DEL MAIL";
if(
validar_email($email)){



      
///////Configuración/////
      
$mail_destinatario '[email protected]';
      
///////Fin configuración//
      
if (isset ($_POST['enviar'])) {
      
$headers .= "From: ".$_POST['email'];
     
      
if ( 
mail($mail_destinatario$asunto
"Nombre : ".$_POST['Nombre']."\r".
"Empresa : ".stripcslashes ($_POST['Empresa'])."\r".
" E-mail: ".stripcslashes ($_POST['email'])."\r".
"Mensaje:".stripcslashes ($_POST['mensaje']), $headers ))
 echo 
'<p>Su mensaje ha sido enviado correctamente. Gracias por contactar con nosostros</p>';
      else echo 
'Error al enviar el formulario. Por favor, inténtelo de nuevo mas tarde.'; }; 
    }
else if (isset (
$_POST['enviar'])) {


if (
$email=="")
{
echo 
'<p>Introduzca una direccion de email</p>';
}

else {
    echo 
'<p>$email  no es una cuenta de correo electronico valida.</p>';
    
    }
    
    }
      
      
?>
__________________
la la la