我正在尝试将URL存储在login.php中的会话中,并且在Google或fb重定向到redirect.php之后,我想返回上一页。
in login.php
<?php
function getCurrentPageUrl()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
$_SESSION['CURRENT_PAGE_URL'] = $pageURL;
}
?>
in redirect.php
<?php
if ($_SESSION['CURRENT_PAGE_URL'])
{
header('location: '.$_SESSION['CURRENT_PAGE_URL']);
}
else
{
}
?>
为什么它不起作用?
我认为您的问题是您没有在重定向页面上初始化会话。它缺少
session_start();
所以尝试一下
<?php
// initialize session if you have not done so
session_start();
function getCurrentPageUrl()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
$_SESSION['CURRENT_PAGE_URL'] = $pageURL;
}
?>
redirect.php
<?php
session_start();
if ($_SESSION['CURRENT_PAGE_URL'])
{
header('location: '.$_SESSION['CURRENT_PAGE_URL']);
}
else
{
}
?>