使用会话传递http_referer php

时间:2012-05-30 23:35:45

标签: php session http-referer

这是痛苦的考验:

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

2 个答案:

答案 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之间保持不变。我不会重复解决方案,而是指出问题出现之前的位置: