20/08/2010, 00:06
|
| | | Fecha de Ingreso: febrero-2010 Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 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 |