2012-04-01 6 views
0

Ich versuche, Benutzer zu registrieren, indem ich ihre Facebook-Benutzerkennung erfahre. "profile_fbuid" ist ein (verstecktes) Profilfeld, das ich erstellt habe, um sich mit der entsprechenden Facebook-Benutzer-ID anzumelden. Wenn ein Benutzer versucht, mit Facebook einzuloggen ich seine/ihre Facebook-Benutzer-ID erkennen, aber wenn ich versuche, mit entsprechenden Drupal Benutzer diese Zeile funktioniert nicht übereinstimmen:user_load von einem Benutzerprofilfeld?

$user_exists = user_load(array('profile_fbuid'=>$fbuserid)); 

ich diesen Fehler: user warning : Unbekannte Spalte "profile_fbuid"

Ich weiß, was der Fehler bedeutet, aber ich weiß nicht, wie ich einen Benutzer mit einem Benutzerprofilfeld suchen kann.

Danke für Ihre Hilfe!

Antwort

0

Ich denke, es ist kein Feld in der Tabelle users die profile_fbuid genannt, so dass ich denke, u dieses Feld erzeugt durch Benutzerprofil-Modul so denke ich, ist es besser, eine Abfrage zu erstellen, die die uid dieser Spalte profile_fbuid erhalten und dann die uid passieren

$query = db_query("select `uid` from {table_name} where `profile_fbuid` = %d ",$fbuserid); 
while($result = db_fetch_object($query)){ 
$uid = $result->uid ; 
$user_exists = user_load(array('uid'=>$uid)); 
} 

user_load (Funktion) ich habe nicht diesen Code testen, viel Glück

0

Sie erstellt ein benutzerdefiniertes Feld, das das Benutzerprofil profile_fbuid genannt angebracht ist. Was Sie in der Datenbank tun mögen, ist für diese Tabelle aussehen:

field_data_field_profile_fbuid. 

Die entsprechenden Spalten sind entity_id, die die (Drupal) werden user id und field_profile_fbuid_value, die den Wert (der Facebook UID) enthalten werden.