Problemas con el formulario de contacto Ajax: no se envió ningún correo electrónico

Perdón por ser un novato, pero hago todo lo posible. He hecho y leído todo lo que pude encontrar y nunca lo hice funcionar. Realmente agradecería la ayuda. La id del formulario coincide en html y javascript. El PHP está enlazado en el Javascript y tengo el javascript vinculado en el encabezado de mi html. ¿Qué me estoy perdiendo? Probé otros códigos que encontré en línea y nada. El problema es que nunca se envía un correo electrónico. Si presionas envía la página vuelve a cargar y eso es todo.

               

PHP

 = 5.2.0 if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) { // detect & prevent header injections $test = "/(content-type|bcc:|cc:|to:)/i"; foreach ( $_POST as $key => $val ) { if ( preg_match( $test, $val ) ) { exit; } } //send email mail( "test@gmail.com", "Contact Form: ".$_POST['name'], $_POST['text'], "From:" . $_POST['email'] ); } ?> 

JS

  $('#contact').submit(function() { var name = $("#name").val(); var email = $("#email").val(); var message = $("#message").val(); var dataString = 'name=' + name + '&email=' + email + '&message=' + message; $.ajax({ type : "POST", url : "mail.php", data : dataString, cache : false, success : function() { $("#contact").fadeOut(300); $("#notice").fadeIn(400); } }); return false; }); 

Gracias.

Tal vez su código js se ejecute antes de que se haya cargado jQuery. Intente incluir jQuery antes de otros archivos js:

        

Por cierto, solo necesitas incluir jQuery una vez, no dos.

Su área de texto tiene un name="message" mientras que usted está buscando isset($_POST['text']) en el código del controlador de envío