如何使用Janrain basic获取用户的电子邮件地址

时间:2014-04-08 18:51:35

标签: php mysqli janrain

我尝试在用户登录时获取电子邮件地址,以便我可以将其输入我的数据库并获得唯一ID。我设法检索用户显示名称并使用此代码将它们存储在数据库中,但是它不能使用电子邮件地址。

session_start();
            if(property_exists($profile->profile,'displayName')){
                $_SESSION['username'] = $profile->profile->displayName;
                $_SESSION['email'] = $profile->profile->email;
                $_SESSION['logged']="logged";

                $username = $_SESSION['username'];
                $email = $_SESSION['email'];

                require_once("db_connect.php");
                $query="SELECT email FROM users WHERE email = '$email'";
                mysqli_select_db($db_server, $db_database);
                $result=mysqli_query($db_server, $query);
                if($result != $email){
                    $query = "INSERT INTO users (username, email) VALUES ('$username', '$email')";
                    mysqli_query($db_server, $query) or
                                die("Insert failed. ". mysqli_error($db_server));
                }else{
                    echo "Login error.";    
                }

                mysqli_free_result($result);
                require_once("db_close.php");
                header('location:home.php');
            }else{
                $_SESSION['username'] = '(Anonymous)';
                $_SESSION['logged']="logged";
                header('location:home.php');
          } 

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

听起来它与默认情况下提供商共享的信息有关。我相信这些步骤应该解决它:

  1. 登录https://dashboard.janrain.com/
  2. 选择您的Engage应用程序
  3. 在“提供商”框中,将鼠标悬停在您尝试使用
  4. 进行身份验证的那个上
  5. 点击悬停在提供商上方后出现的小扳手图标
  6. 确保选中“email”
  7. 旁边的“提问”复选框

    请告诉我这是否适合您!