一个月前,我的会话未在自己的网页之间保留其值,因此将文件类型从 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){} 我真的很困惑。
答案 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" }