Hola,
tengo este formulario de e-mail, pero después de rellenar los datos, no consigo que el botón enviar funcione. No es que de error, es que directamente no funciona.
Código HTML:
Ver original<form class="form-contact animate-box col-md-8 col-md-offset-2 text-center section-heading" method="post" action="sendbymail.php"> <div class="animate-box"><input type="text" value="Your name" onFocus="if (this.value=='Your name') this.value='';"></div> <div class="animate-box"><input type="text" value="Your E-mail" onFocus="if (this.value=='Your E-mail') this.value='';"></div> <div class="animate-box"><input type="text" value="Subject" onFocus="if (this.value=='Subject') this.value='';"></div> <div class="animate-box"><input type="button" class="button" value="Send" /></div>
Código PHP:
Ver original<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
if(isset($_POST['email'])) {
// Edita las dos líneas siguientes con tu dirección de correo y asunto personalizados
$email_to = "";
$email_subject = "Tu Asunto de correo";
function died($error) {
// si hay algún error, el formulario puede desplegar su mensaje de aviso
echo "Sorry, there was an error in your data and the e-mail can not be sent at this time. ";
echo "Detail of the errors.<br /><br />";
echo $error."<br /><br />";
echo "Please, correct these errors and try again.<br /><br />";
}
// Se valida que los campos del formulairo estén llenos
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['message'])) {
died('Sorry, but there seems to be a problem with the data.');
}
//En esta parte el valor "name" nos sirve para crear las variables que recolectaran la información de cada campo
$first_name = $_POST['first_name']; // requerido
$last_name = $_POST['last_name']; // requerido
$email_from = $_POST['email']; // requerido
$telephone = $_POST['telephone']; // no requerido
$message = $_POST['message']; // requerido
$error_message = "Error";
//En esta parte se verifica que la dirección de correo sea válida
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
$error_message .= 'Sorry, the email address provided is invalid.<br />';
}
//En esta parte se validan las cadenas de texto
$string_exp = "/^[A-Za-z .'-]+$/";
$error_message .= 'Sorry, the format of the name is not valid.<br />';
}
$error_message .= 'Sorry, the surname format is not valid.<br />';
}
$error_message .= 'Sorry, the format of the text is not valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
//A partir de aqui se contruye el cuerpo del mensaje tal y como llegará al correo
$email_message = "Contenido del Mensaje.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
}
$email_message .= "Nombre: ".clean_string($first_name)."\n";
$email_message .= "Apellido: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Teléfono: ".clean_string($telephone)."\n";
$email_message .= "Mensaje: ".clean_string($message)."\n";
//Se crean los encabezados del correo
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- incluye aqui tu propio mensaje de Éxito-->
Done! Thank you for your interest, I will send you an answer as soon as possible.
<?php
}
?>
</body>
</html>