ciao gente.
sto smanettando da qualche giorno con ajax e inizio a vedere qualche risultato.
ancora però ho qualche problema.
ho creato una procedura di login come prova per imparare ad usare ajax.
sto quasi per finire solo che non funziona come dovrebbe.
al click su invio form:
ajax.js
Codice:
...
function form_submit(un,pw,sfida){
var xmlHttp = getNewHTTPObject();
var risorse = escape('user')+"="+escape(un)+"&"+escape('pw')+"="+escape(pw)+"&"+escape('sfida')+"="+escape(sfida);
var url = "./include/login.php?__submit&"+risorse;
xmlHttp.open('POST', url, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = logga(this.responseText);
xmlHttp.send(null);
return true;
}
function logga(r){
if (this.readyState != 4)
return;
var result = r;
---->if(){}<---------
}
fa praticamente quasi tutto solo che
1) non capisco come mai se scrivo la funzione logga a aparte NON funziona e NON vede il responseText, mentre se la concateno all'evento onreadystatechange almeno un alert (se lo inserisco) funziona.
2) pagina login.php
Codice PHP:
...
session_regenerate_id();
session_start();
$_SESSION['userid'] = $rslt['id_utente'];
$_SESSION['user'] = $rslt['username'];
$query = mysql_query("UPDATE tabella_utente SET sfida_corrente=NULL WHERE username='".$username."'");
echo $_SESSION['userid'].'|'.$_SESSION['user'];
...
come si vede, se l'utente è registrato nel database, viene creata la sessione.
io vorrei che "uscissero" i dati di sessione con l'echo e venissero letti dalla funzione "logga".
a quel punto, semplicemente, un if esistono i due campi e magari anche un terzo, allora apri di nuovo l'home page modificata.
3) non voglio che l'index abbia la query string concatenata! voglio solo l'url base pulito.
quindi, mi sapreste aiutare per queste cosette?
1) la funzione logga non funziona
2) aprire la pagina index se i campi sono corretti, la pagina di errore se non è andato a buon fine
3) ricaricare l'url della home page SENZA querystring.
grazie!