| 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
|
| 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?
|
| Mercoledì 16 Dicembre 2009 - 02:02
Re: integrazione facebook connect: correggo ultimo messaggio funzione login() volevo dire funzione fn_login().
|
| 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']);).
|
| 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()?
|