我目前正在开发一个包含 Facebook SDK 的项目。我已经使用 javascript 代码自行登录/注销。
我正在使用 AJAX POST 请求保存用户 ID 和来自 session 响应的名称。
这里的问题是,我实际上必须重新加载页面两次,第一次是获取 POST 参数并将它们保存到 $_SESSION 中。 加载 session 需要第二次刷新。
有没有一种干净的方法可以避免这种情况?
javascript: $.post( "login.php", { id:userID, name:response.name } );
登录.php:
$_SESSION['name'] = $_POST['name'];
$_SESSION['userID'] = $_POST['id'];
我感谢各种帮助。谢谢。
编辑: 我想在我的网站上为使用 facebook 登录的用户提供更多机会。我知道如何做到这一点的唯一方法是使用 PHP 中的 session 。每当他登录时,我都会创建一个 session ,表示有人已登录。
现在我必须对 facebook 登录做同样的事情。它已经在本地与 PHP SDK 一起工作,但网站空间不支持那种 SDK。这就是为什么我必须避开 javascript 的原因。 有没有其他方法可以确保某人已登录?
最佳答案
您正在使用 AJAX,
这样你就可以避免重新加载页面,
<?php
session_start();
if (isset($_GET['name'])) {$_SESSION['name'] = $_GET['name'];}
if (isset($_GET['userID'])) {$_SESSION['userID'] = $_GET['userID'];}
if(isset ($_POST['name'] ) && isset ($_POST['userID'])){
$_SESSION['name']= $_POST['name'];
$_SESSION['userID']= $_POST['userID'];
}else{
$_SESSION['userID'] = 0;
}
?>
javascript代码是:
$.post( "/login.php", { id:userID, name:response.name } );
关于javascript - 我真的必须重新加载我的页面两次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36534438/