这是痛苦的考验:
index.php
<?php
session_start();
$url = $_SERVER['HTTP_REFERER'];
$_SESSION['abc'] ='$url';
?>
我在页面$_SERVER['HTTP_REFERER'];
上回应,我得到了我想要的东西
稍后在网站上我有一个预订页面,我使用会话
<?php
session_start();
if (isset($_SESSION['abc'])) {
echo $_SESSION['abc'];
}
else {
echo 'error';
}
?>
它回显了错误,我很困惑为什么数据没有通过..
任何想法来自php大师那里,谢谢。只是想让它打印HTTP_REFERER
答案 0 :(得分:0)
查看评论时,您似乎正在使用HTTP 和 HTTPS。
您需要将会话ID从HTTP传递到HTTPS。
<强>的index.php 强>
<?php
session_start();
$_SESSION['abc'] = $_SERVER['HTTP_REFERER'];
$session_id = session_id();
?>
然后,您需要将$session_id
传递到您的预订页面,可能是通过GET:
<强> reservation.php 强>
<?php
session_start();
session_id($_GET['session_id']);
if (isset($_SESSION['abc']))
echo $_SESSION['abc'];
?>
答案 1 :(得分:0)
不幸的是,默认情况下,会话不会在HTTP和HTTPS之间保持不变。我不会重复解决方案,而是指出问题出现之前的位置: