Php 使用lightopenid和信息注册用户一次,然后使用数据库信息登录

Php 使用lightopenid和信息注册用户一次,然后使用数据库信息登录,php,lightopenid,Php,Lightopenid,我已经使用lightopenid实现了一个Google开放id登录-注册系统,该系统运行良好,我想添加一个功能,该功能要求用户只注册一次,以允许访问他们的信息,然后我将该信息存储在数据库中,供登录后使用 一旦我获得了他们的信息(身份、姓名、电子邮件),我会将他们存储在数据库中,通过相同的过程将他们记录在后记中,除了跳过用户一次又一次地授予访问他们信息的权限 i、 e当用户注册并被授予访问这些信息的权限时,下次用户不必每次登录都授予访问权限 为了实现它,我在尝试登录时在数据库中检查他们的身份,如果

我已经使用lightopenid实现了一个Google开放id登录-注册系统,该系统运行良好,我想添加一个功能,该功能要求用户只注册一次,以允许访问他们的信息,然后我将该信息存储在数据库中,供登录后使用

一旦我获得了他们的信息(身份、姓名、电子邮件),我会将他们存储在数据库中,通过相同的过程将他们记录在后记中,除了跳过用户一次又一次地授予访问他们信息的权限

i、 e当用户注册并被授予访问这些信息的权限时,下次用户不必每次登录都授予访问权限

为了实现它,我在尝试登录时在数据库中检查他们的身份,如果身份存在,则登录他们,而不要求在lightopenid中提供信息,如果身份不是他们的身份,则要求他们提供一次信息,以将其存储在数据库中供以后登录使用

我可以在数据库中检查他们的身份,但如果身份不是他们的身份,那么如何询问他们的信息,因为我在登录时没有请求lightopenid中的信息

一次存储信息的代码。(注册)

检查身份的代码。(登录)

if(!$openid->mode){
如果(isset($\u GET['login'])){
$openid->identity=https://www.google.com/accounts/o8/id';
标题('Location:'。$openid->authUrl());
}
} 
如果($openid->validate()){
需要一次_('../connect.php');
$identity=$openid->identity;
$open_id=explode('=',$identity);
$identity_hash=$open_id[1];
$query=“从用户登录中选择*,其中标识\u散列=“$identity\u散列”;
$result=mysqli_query($ulconnection,$query)或trigger_error(mysqli_connect_error(),E_USER_error);
如果($结果){
$row=mysqli\u fetch\u assoc($result);
$username=$row['username'];
$email=$row['email'];
回显$username.“
”; 回显$email.“
”; } 否则{ //如何在这里询问信息。 } }
请查看并建议任何可能的方法


谢谢。

我是这样工作的

    if($result){
    $row = mysqli_fetch_assoc($result);
    $username = $row['username'];
    $email = $row['email'];
    echo $username.'<br />';
    echo $email.'<br />';
    }
    else{
    header("Location: signup.php?login");   
    }
if($result){
$row=mysqli\u fetch\u assoc($result);
$username=$row['username'];
$email=$row['email'];
回显$username.“
”; 回显$email.“
”; } 否则{ 标题(“位置:signup.php?login”); }
希望这对其他人也有帮助

    if(!$openid->mode) {
    if(isset($_GET['login'])) {
        $openid->identity = 'https://www.google.com/accounts/o8/id';
        header('Location: ' . $openid->authUrl());
    }
} 
if($openid->validate()) {
    require_once('../connect.php');
    $identity = $openid -> identity;
    $open_id = explode('=', $identity);
    $identity_hash = $open_id[1];
    $query = "SELECT * FROM user_login WHERE identity_hash='$identity_hash'";
    $result = mysqli_query($ulconnection, $query) or trigger_error(mysqli_connect_error(), E_USER_ERROR);

    if($result){
    $row = mysqli_fetch_assoc($result);
    $username = $row['username'];
    $email = $row['email'];
    echo $username.'<br />';
    echo $email.'<br />';
    }
    else{
    // how to ask for info here.
    }
}
    if($result){
    $row = mysqli_fetch_assoc($result);
    $username = $row['username'];
    $email = $row['email'];
    echo $username.'<br />';
    echo $email.'<br />';
    }
    else{
    header("Location: signup.php?login");   
    }