将URL存储在会话中,并在fb或google重定向后返回页面

问题描述 投票:0回答:1

我正在尝试将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
  {

  }
?>

为什么它不起作用?

php facebook authentication redirect google-login
1个回答
0
投票

我认为您的问题是您没有在重定向页面上初始化会话。它缺少

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
{


}
?>
© www.soinside.com 2019 - 2024. All rights reserved.