Sigo recibiendo la alerta de error. No hay nada de malo en la parte MYSQL, la consulta se ejecuta y puedo ver las direcciones de correo electrónico en el archivo db.¿Cómo devuelvo un mensaje correcto de éxito/error para JQuery .ajax() usando PHP?
El lado del cliente:
<script type="text/javascript">
$(function() {
$("form#subsribe_form").submit(function() {
var email = $("#email").val();
$.ajax({
url: "subscribe.php",
type: "POST",
data: {email: email},
dataType: "json",
success: function() {
alert("Thank you for subscribing!");
},
error: function() {
alert("There was an error. Try again please!");
}
});
return false;
});
});
</script>
El lado del servidor:
<?php
$user="username";
$password="password";
$database="database";
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die("Unable to select database");
$senderEmail = isset($_POST['email']) ? preg_replace("/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email']) : "";
if($senderEmail != "")
$query = "INSERT INTO participants VALUES (CURDATE(),'".$senderEmail."')";
mysql_query($query);
mysql_close();
$response_array['status'] = 'success';
echo json_encode($response_array);
?>
Considere el uso de pdo, las funciones de mysql_ son obsoletas –