Forum->Flatnux->integrazione facebook connect
  
Benvenuto Sconosciuto Registrati Aiuto383 Utenti

Utente Messaggio


speleoalex

0 Livello 10 10

levellevellevellevellevellevellevellevellevellevel
profile mail
Lunedì 14 Dicembre 2009 - 12:54

Re: integrazione facebook connect:
Se hai la tabella userd su mysql occorre cambiare la chiave primaria sia sul descrittore xml (/misc/fndatabase/users.php) che sul database.

Alex




johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Mercoledì 16 Dicembre 2009 - 01:55

Re: integrazione facebook connect:
Ok fin qui ci sono...

Ora stavo cercando di effettuare automaticamente il login per un utente che ha già collegato l'account facebook con l'account del sito ed è loggato a facebook.

Ho provato ad inserire questo codice nel blocco login:


// se l'utente risulta loggato su facebook
if ($fb_user){

// verifico se l'utente ha già collegato l'account facebook con l'account del sito

$connessione = mysql_connect(DB_HOST, DB_USER, DB_PW);
if (!$connessione){
die('Could not connect: ' . mysql_error());
}
mysql_select_db(DB);
$query = "SELECT * FROM users WHERE fb_userid='".$fb_user."'";
$result=mysql_query($query);
if($row=mysql_fetch_row($result)){
login($row[0]);
}

// se invece gli account non sono collegati...
else{
echo "<span>Il tuo account facebook non risulta collegato al sito.<br />";
echo "Effettua il login per collegare gli account oppure<br />";
echo "registrati (potrai usare i credenziali facebook).</span></div>";
}
}



Pensavo che per effettuare il login bastava chiamare la funzione login() passando come parametro username (e quindi $row[0] nel database mysql), eppure non avevo poi nessun valore in $uservalues. Per effettuare il login bisogna per forza effettuare il submit del form login?



johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Mercoledì 16 Dicembre 2009 - 02:02

Re: integrazione facebook connect:
correggo ultimo messaggio funzione login() volevo dire funzione fn_login().



johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Mercoledì 16 Dicembre 2009 - 02:24

Re: integrazione facebook connect:
Forse ho trovato la soluzione: ho provato a chiamare la funzione di login passando la chiave primaria (ora il campo ID che è il 17.mo del database mysql: fn_login($row[17]) e sembra che così ha funzionato. Unico problema poi è che ogni volta che viene chiamato $_FN['user'], non viene più restituito lo username ma l'ID ! Perciò ho dovuto rimpiazzare qualche $_FN['user'] con $uservalues['username'] (anticipando perciò la definizione della variabile $uservalues=get_user($_FN['user']);).




johndorazio

0 Livello 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Mercoledì 16 Dicembre 2009 - 02:57

Re: integrazione facebook connect:
Però l'effettivo login avviene soltanto se ricarico la pagina, perché chiaramente la prima volta non sono settati i cookie di sessione. C'è modo di settare i cookie di sessione senza ricaricare la pagina dopo aver chiamato la funzione fn_login()?

 [1] [2] [3]