我正在尝试将一个数组从一个页面传递到另一个页面。我将会话变量设置为等于从我的表单收集的$ _POST数据。打印变量进行测试表明它最初是在第1页上设置的。
第1页
session_start(); // start up your PHP session!
if(isset($_POST['submit']))
{
unset($_POST['submit']);
$_SESSION['userdata'] = $_POST;
$userqty=$_POST;
print_r($_SESSION['userdata']);
On Page 2我试图将它设置为另一个变量。我再次测试一下,看看数组是否已经传递到第2页,但它没有,因为没有 array_sum 函数的有效数组而出现错误
在session_start(); //启动你的PHP会话!
$_SESSION['userdata'] = $userqty;
print_r($_SESSION['userdata']);
print_r($userqty;);
$userqty_total=array_sum($userqty);
非常感谢任何帮助。
答案 0 :(得分:3)
您将$_SESSION['userdata']
设置为未初始化的$userqty
值。
将您的第一行更改为:
session_start();
$userqty = $_SESSION['userdata']
答案 1 :(得分:1)
checkout serialize并在php中反序列化函数。
编辑:实际上你不需要将数组转换为字符串并将其转换回数组。你可以按原样使用它。
在第一页:
$_SESSION['data'] = $_POST;
在第二页:
$temp = $_SESSION['data'];
现在$temp
的第1页内容为$_POST
。