为什么重定向后我的会话不起作用?

时间:2014-04-02 08:39:17

标签: php session

一个月前,我的会话未在自己的网页之间保留其值,因此将文件类型从 UTF-8 更改为 UTF8 - 无BOM 问题解决了。 现在我正在使用银行网络服务,我正在成功调用它的方法。通过发布表单我的页面重定向到银行页面,付款后重定向到我的网站,我的会话数组是空的!

我的会话没有保留其价值......为什么?

重定向前的

process1.php ):

<?php
session_start(); // first line and without space
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">     
        </script>
        <script>
            $(document).ready(function(){
               $("form").submit();
            });
        </script>
    </head>
    <body>
        <?php
            $_SESSION['price']=1000;
            $_SESSION['username']="14276912";
            $_SESSION['password']="874593a";
            $_SESSION['ReturnURL']="www.mysite.com/process3.php";
            $params=array(//parameters);
            $client=new SoapClient("https://bankname.com/MerchantUtility.asmx?wsdl");
            $result=$client->__soapCall('bpPayRequest', array($params));                                     
            $RefId=$result[0];
        ?>
        <form method="post" action="https://bankname.com/pgwchannel/startpay">
            <input name="RefId" value="<?php echo $RefId?>" type="hidden"/>
        </form>
    </body>
</html>

从重定向页面回来后( process2.php ):

<?php
session_start(); // first line and without space
var_dump($_SESSION);
?>

Var_dump显示 array(0){} 我真的很困惑。

1 个答案:

答案 0 :(得分:0)

这是我尝试使用localhost及其工作。这是简单的值传递代码。

这是第一页:

<?php
session_start();
            $_SESSION['price']=1000;
            $_SESSION['username']="14276912";
            $_SESSION['password']="874593a";
?>

<form method="post" action="a.php">
            <input name="submit" value="Submit" type="submit"/>
        </form>

这是目标网页:

<?php
session_start();
var_dump($_SESSION);
?>

这就是结果:

array(3) { ["price"]=> int(1000) ["username"]=> string(8) "14276912" ["password"]=> string(7) "874593a" }