Salve. Ho il seguente script in ajax e php:
La pagina core/login.php è questa:codice:<script src="jquery.js" type="text/javascript" language="javascript"></script> <script language="javascript"> $(document).ready(function() { $("#login_form").submit(function() { //remove all the class add the messagebox classes and start fading $("#msgbox").removeClass().addClass('messagebox').text('Controllo dati....').fadeIn(1000); //check the username exists or not from ajax $.post("core/login.php",{ username:$('#username').val(),password:$('#password').val(),rand:Math.random() } ,function(data) { if(data=='yes') //if correct login detail { $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox { //add message and change the class of the box and start fading $(this).html('Login in corso.....').addClass('messageboxok').fadeTo(900,1, function() { //redirect to secure page document.location='utenti/index.php'; }); }); } else { $("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox { //add message and change the class of the box and start fading $(this).html('Dati errati...').addClass('messageboxerror').fadeTo(900,1); }); } }); return false; //not to post the form physically }); //now call the ajax also focus move from $("#password").blur(function() { $("#login_form").trigger('submit'); }); }); </script> <form method="post" action="" id="login_form"> Username: <input name="username" type="text" id="username" maxlength="32"> Password: <input name="password" type="password" id="password" maxlength="32"> <input name="Submit" type="submit" id="submit" value="Login" /> <span id="msgbox" style="display:none">
Tutto funziona tranne una cosa.codice:<?php include("../connessione.php"); session_start(); $username = Filtro($_POST['username']); $password = Filtro(md5($_POST['password'])); $sel=mysql_query("SELECT * FROM utenti WHERE username='$username' AND password='$password'"); if(mysql_num_rows($sel)!=1) { echo "no"; } else { $_SESSION['logged']=1; echo "yes"; } ?>
ANche se metto i dati corretti mi dice Dati Errati....
Provando a fare il login andando direttamente alla pagina php, anziche passare per ajax (quindi mettendo la pagina php nella action del form) mi restituisce "yes" quindi l'utente c'è e lo trova.
Passando per ajax mi da sempre dati errati.
Dove è l'errore? (presumo sia nei codici javascript)

Rispondi quotando