Salve a tutti sto creando un form per la registrazione degli utenti sul mio sito ! Ho creato uno script ajax per vedere se l'email è già presente sul db. Il codice javascript è questo !!
codice:
function controlla(){
document.getElementById("nomespan").innerHTML = errore("");
document.getElementById("cognomespan").innerHTML = errore("");
document.getElementById("emailspan").innerHTML = errore("");
document.getElementById("nickspan").innerHTML = errore("");
document.getElementById("passwordspan").innerHTML = errore("");
document.getElementById("confermaspan").innerHTML = errore("");
var form = document.forms['join'];
var nome = form.nome.value;
var email = form.email_join.value;
var password = form.password_join.value;
var cognome = form.cognome.value;
var nick = form.nick.value;
var conferma = form.conferma.value;
var number = /\d/g;
var noword = /(\w(\s)?)+/;
var expr_email = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
var ok = true;
if (!noword.test(nome)){
document.getElementById("nomespan").innerHTML = errore("Il campo deve contenere soltanto lettere dell'alfabeto");
form.nome.focus();
ok= false; }
if (nome.length == 0){
document.getElementById("nomespan").innerHTML = errore("Il campo è obbligatorio");
form.nome.focus();
ok = false; }
if (number.test(nome)){
document.getElementById("nomespan").innerHTML = errore("Il campo non puo contenere numeri");
form.nome.focus();
ok = false; }
if (email.length == 0){
document.getElementById("emailspan").innerHTML = errore("Il campo è obbligatorio");
form.email_join.focus();
ok = false; }
if (!expr_email.test(email)){
document.getElementById("emailspan").innerHTML = errore("Email non valida");
form.email_join.focus();
ok = false; }
if (expr_email.test(email)){
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if (xmlhttp.responseText == "1"){
document.getElementById("resultspan").innerHTML = "Fatto";}
}
}
xmlhttp.open("GET","control_join.php?email="+email,true);
xmlhttp.send();
}
if (password.length < 4){
document.getElementById("passwordspan").innerHTML = errore("Il campo deve avere minimo 4 caratteri");
form.password_join.focus();
ok = false; }
if (password.length == 0){
document.getElementById("passwordspan").innerHTML = errore("Il campo è obbligatorio");
form.password_join.focus();
ok = false; }
if (password.length > 16){
document.getElementById("passwordspan").innerHTML = errore("Il campo deve avere massimo 16 caratteri");
form.password_join.focus();
ok = false; }
return ok;
}
function vai(){
document.getElementById('resultspan').innerHTML = errore("");
if(controlla()){
document.getElementById('resultspan').innerHTML = errore("FaFaFaFAtto")
}
}
E il codice control_join.php è questo
Codice PHP:
<?
require("connessione.php");
$email = $_GET['email'];
$result = mysql_query("SELECT * FROM login WHERE email='$email'");
$row = mysql_fetch_array($result);
if ($row['nome'] != ""){
echo '1';
} else {
echo '0';
}
?>
Non funge !! Qualcuno sa dirmi il perche ??