Salve a tutti.
Mi trovo dinanzi ad un problema che mi sta donando amorevolmente molti grattacapi.
Vi spiego velocemente il problema:
ho creato un oggetto javascript per utilizzare ajax, in questo modo:
codice:
flc_ajax={
/* INIZIALIZZAZIONE */
start:function(){
try { ajax=new XMLHttpRequest(); return ajax; }
catch(e) { try{ ajax=new ActiveXObject('Msxml2.XMLHTTP'); return ajax; }
catch(e) { try{ ajax=new ActiveXObject('Microsoft.XMLHTTP'); return ajax; }
catch(e) { return alert("Il sito utilizza la tecnologia Ajax. Aggiorna il tuo browser per poterla utilizzare"); }
}
}
},
/* INVIO RICHIESTA */
invia:function(x,y,z,j){ /* x tipo,y url, z sincrono o meno e j dati del post */
ajax.open(x,y,z);
x=="POST"?ajax.send(j):ajax.send();
return;
},
/* RICEZIONE DATI */
ricevi:function(p,i){
ajax.onreadystatechange=function(){
if(ajax.readyState==4){
if(ajax.status==200){
if(p) p; /*Azione in caso di successo */
return ajax.responseText;
}}
else
if(i) i; /*Azione in caso di insuccesso */
}
}
}
flc_ajax.start();
Successivamente ho creato una piccola porzione di codice PHP per gestire il login:
codice:
if($_GET["richiesta"]=="login"){
if($_GET["username"] && $_GET["pass"]){
$user=$_GET["username"];
$pass=$_GET["pass"];
MySQL_connect("localhost","fantallenacalcio") or die("Errore MySQL");
MySQL_select_db("my_fantallenacalcio") or die("Errore database");
$query=MySQL_query("SELECT username,pass_conf FROM utenti WHERE username='".$user."' AND pass_conf='".$pass."';") or die("Errore query");
if(MySQL_num_rows($query)==0)
return 0;
else{
$_SESSION["username"]=$user;
$_SESSION["pass"]=$pass;
return 1;
}
}
}
Ho creato, poi, una pagina HTML, ecco la porzione che vi interessa:
codice:
<FORM NAME='form_l_r'>
<TABLE BORDER='0px' class='table_top' style='float:left'>
<TR>
<TD>Username:</TD>
<TD><INPUT TYPE='TEXT' class='stile_input' NAME='username'></TD>
</TR>
<TR>
<TD>Password:</TD>
<TD><INPUT TYPE='PASSWORD' class='stile_input' NAME='pass'></TD>
</TR>
<TR>
<TD COLSPAN='2' ALIGN='CENTER' id='car_post_login'>
<SPAN class='a_a_r'>
<INPUT TYPE='button' VALUE='Accedi' onclick='login()'>
</SPAN>
<SPAN class='a_a_r_2'>
[img]faq.png[/img]
<DIV id='extra_fum_1'>
<SPAN id='cont_extra_fum'>
Recupero username
Recupero password
Problemi di accesso
</SPAN>
</DIV>
</SPAN>
</TD>
</TR>
</TABLE>
Per concludere, ho creato, sotto l'oggetto javascript per ajax, una funzione per poter gestire l'accesso ma, a quanto pare, non mi restituisce completamente nulla:
codice:
function login(){
var username=document.form_l_r.username.value;
var password=document.form_l_r.pass.value;
flc_ajax.invia("GET","richieste.php?richiesta=login&username="+username+"&pass="+password,"false");
var risultato=flc_ajax.ricevi();
alert(risultato);
if(risultato)
$(".div_cont").slideUp(1200).removeClass('div_cont').addClass('div_post_login').html("<SPAN id='titolo_sin'>Titolo</SPAN>").slideDown(1200);
else
alert("nulla. codice ancora da decidere");
}
La funzione alert che richiama il risultato lo inserita solo per controllare se, in effetti, ci fosse o meno un reale risultato (ho provato anche a cambiare i risultati della pagina php per il login) che non c'è (mi restituisce undefinited).
L'oggetto flc_ajax sembra funzionare bene per quanto riguarda la registrazione, quindi escluderei il fatto che il problema sia dato da esso.
Sono completamente nel pallone..mi sono "inceppato".
Qualcuno sa darmi una mano?
Il topic forse è un pò lungo ma vi assicuro che il codice è sempre da leggere e penso sia abbastanza comprensibile.
Grazie mille e perdonatemi per la perdita di tempo.
Cordiali saluti
Marco