例如:
当我输入gmail.com
时,它会将我重定向到以下链接
https://accounts.google.com/signin/v2/identifier?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin
然后,当我完成登录后,它会将我重定向到以下链接
https://mail.google.com/mail/u/0/#inbox
我的问题是如何在我的网站上这样做。我在用户需要登录的任何页面上都有以下内容。
session_start();
require_once 'dbconnect.php';
// if session is not set this will redirect to login page
if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
那么如何更改此代码以使登录页面在成功登录后知道重定向的位置?
我的登录页面上有以下内容。
ob_start();
session_start();
require_once 'dbconnect.php';
// it will never let you open index(login) page if session is set
if ( isset($_SESSION['user'])!="" ) {
header("Location: home.php");
exit;
}
如何更改此选项以重定向到该页面?
第一步使GET url成为当前页面
$actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
如果你使用链接确保链接是
echo '<a href="login.php?q='.$actual_link.'">Login</a>';
将文件login.php设为check login
session_start();
require_once 'dbconnect.php';
$gotopage = $GET_["q"];
if(!isset($_SESSION['user'])) //Check if error or not isset login and redirects to index.php
{
header("Location: index.php");
}
else if(isset($_SESSION['user'])) //Check if success login and redirects to home.php
{
header("Location:".$gotopage);
}
我发现使用cookie更容易。我在发送到登录页面之前创建了一个带有用户地址的cookie,然后在登录页面完成后重定向它们。