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