Hola, soy nuevo en PHP y no sabía hacer un script que me enviara los datos de un formulario a mi email. Así que usé este: [URL="http://www.freecontactform.com/email_form.php"]http://www.freecontactform.com/email_form.php[/URL]
Tengo todos los archivos colocados bien con sus respectivos nombres etc., pero al darle click a "submit" lo único que ocurre es que me muestra lo siguiente (el correo no me llega):
Código:
"; echo $error."
"; echo "Please go back and fix these errors.
"; die(); } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { died('We are sorry, but there appears to be a problem with the form you submitted.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $telephone = $_POST['telephone']; // not required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; if(!preg_match($email_exp,$email_from)) { $error_message .= 'The Email Address you entered does not appear to be valid.
'; } $string_exp = "/^[A-Za-z .'-]+$/"; if(!preg_match($string_exp,$first_name)) { $error_message .= 'The First Name you entered does not appear to be valid.
'; } if(!preg_match($string_exp,$last_name)) { $error_message .= 'The Last Name you entered does not appear to be valid.
'; } if(strlen($comments) < 2) { $error_message .= 'The Comments you entered do not appear to be valid.
'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = "Form details below.\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } $email_message .= "First Name: ".clean_string($first_name)."\n"; $email_message .= "Last Name: ".clean_string($last_name)."\n"; $email_message .= "Email: ".clean_string($email_from)."\n"; $email_message .= "Telephone: ".clean_string($telephone)."\n"; $email_message .= "Comments: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); ?> Thank you for contacting us. We will be in touch with you very soon.
Por supuesto, he puesto mi e-mail en el archivo PHP. Yo creo que el error puede ser o del servidor, que no lo ejecuta, o que no tiene los permisos correctos (he puesto 775 con DW)
También he probado con este [URL="http://www.kirupa.com/web/php_contact_form.htm"]http://www.kirupa.com/web/php_contact_form.htm[/URL] y tampoco me funciona, se queda la página en blanco y no envía el email. Sé que son códigos muy básicos pero estoy empezando en PHP y no sé que puede estar fallando.
Es relativamente urgente, así que os pongo la página aquí: [URL="http://cinenic.com.es/contacto.html"]http://cinenic.com.es/contacto.html[/URL]
Gracias y saludos.