我目前正在与bbPress进行RTX / Janrain集成,但我坚持使用SQL查询,即使我一直在尝试使用通配符和我知道已注册的电子邮件地址,但它并没有给我任何结果。
登入
$ rpxApiKey ='xxxxx';
if(isset($ _ POST ['token'])){/ * 第1步:提取令牌POST参数 * / $ token = $ _POST ['token'];
/ *第2步:使用令牌制作 auth_info API调用* / $ post_data = array('token'=> $ _POST ['token'], 'apiKey'=> $ rpxApiKey, 'format'=> 'JSON');
$ curl = curl_init(); curl_setopt($卷曲, CURLOPT_RETURNTRANSFER,true); curl_setopt($ curl,CURLOPT_URL, 'https://rpxnow.com/api/v2/auth_info'); curl_setopt($ curl,CURLOPT_POST,true);
curl_setopt($ curl,CURLOPT_POSTFIELDS,$ post_data); curl_setopt($ curl,CURLOPT_HEADER, 假); curl_setopt($卷曲, CURLOPT_SSL_VERIFYPEER,false); $ raw_json = curl_exec($ curl); curl_close($卷曲);/ *步骤3:解析JSON auth_info 响应* / $ auth_info = json_decode($ raw_json,true);
if($ auth_info ['stat'] =='ok'){ / *第3步续:从响应中提取'标识符'* / $ profile = $ auth_info ['profile']; $ identifier = $ profile ['identifier'];
$简档[ '标识符']; if(isset($ profile ['photo'])){ $ photo_url = $个人资料['照片']; }if (isset($profile['displayName'])) { $name = $profile['displayName']; }
if(isset($ profile ['email'])){ $ email = $个人资料['email']; } / *步骤5,检查用户是否存在于数据库中,如果是,则登录,如果 不创建新用户然后登录* / 全球$ bbdb; $ querystr =“ SELECT * FROM $ bbdb-> bb_users
WHERE user_email = $ email LIMIT 1“; $ rtx_user_id = $ bbdb-> get_results($ querystr,OBJECT); 的print_r($ rtx_user_id); if($ rtx_user_id){ 呼应“巨大的成功”; wp_set_auth_cookie((int)$ rtx_user_id,0); // 0 =不 记住,短暂登录,待办事项:使用表格 值do_action('bb_user_login', (int)$ rtx_user_id);如果 (!$ rtx_user_id){echo“不太好 成功“;}/* STEP 6: Use the identifier as the unique key to sign the user into
你的系统。 这将取决于您的网站实施,您应该 添加你自己的 代码在这里。 * /
/ *发生错误* /}
else {//优雅地处理 错误。把它挂进你的家乡 错误处理系统。回声'安 发生了错误: ' 。 $ auth_info [ 'ERR'] [ 'MSG']; }>
第5步中出现的问题是检查用户是否存在。
提前致谢, 貂
答案 0 :(得分:2)
正如我们在twitter上谈到的那样,查询行应该是
$querystr = "SELECT * FROM $bbdb->users WHERE user_email = '$email' LIMIT 1";