Buon pomeriggio, devo effettuare un controllo su un form di registrazione e vorrei fare un controllo AJAX che mi permetta di verificare se la mail tentata è già esistente nel mio DB o meno.
Vi posto i codici AJAX e PHP:
codice:
//CONTROLLO CHE L'EMAIL NON ESISTA NEL DB
var oXHR = new XMLHttpRequest();
oXHR.open("post", "objects/checkmail.php", true);
oXHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var found = true; //è al contrario: se trova una mail identica a quella tentata restituisce false
oXHR.onreadystatechange = function()
{
if (oXHR.readystate == 4)
{
document.write("fin qui ok");
if (oXHR.responseText == 'found')
{
alert("Questo inidirizzo e-mail è già stato usato.");
found = false;
}
}
}
document.write(var params = "email=" + encodeURIComponent(document.forms['registration']['email'].value));
oXHR.send(params);
return found;
Codice PHP:
<?php
require "mysql_functions.php";
$DB = new MySQLclass();
$DB -> connect();
$email = filter_var(trim(filter_var($_POST['email'], FILTER_SANITIZE_EMAIL)));
$obj = $DB -> estract($DB -> query("SELECT email FROM user_info WHERE email='".$email."'"));
if (mysql_num_rows($obj) >= 1)
{
echo 'found';
}
else
{
echo "not found";
}
?>
Il controllo non solo non fa nulla, ma blocca anche il codice JS successivo, il che mi fa dedurre che sia totalmente sbagliato, solo che non so dove sia l'errore