2

我试图让一个数组将会话变量从一个页面传递到另一个页面。我将会话变量设置为等于从我的表单收集的 $_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']);

在第 2 页上,我试图将其设置为等于另一个变量。我再次测试以查看数组是否已传递到第 2 页,但它没有传递,并且我收到一个错误,因为array_sum函数没有有效的数组

session_start(); // 启动你的 PHP 会话!

$_SESSION['userdata'] = $userqty;

print_r($_SESSION['userdata']);

print_r($userqty;);

$userqty_total=array_sum($userqty);

任何帮助将不胜感激。

4

3 回答 3

3

您正在设置$_SESSION['userdata']为 的值$userqty,该值未初始化。

将第一行更改为:

session_start();
$userqty = $_SESSION['userdata']
于 2012-07-31T18:47:09.937 回答
1

签出 php 中的序列化和反序列化函数。

编辑:实际上您不需要将数组转换为字符串并将其转换回数组。您可以按原样使用它。

在第一页:

$_SESSION['data'] = $_POST;

在第二页:

$temp = $_SESSION['data'];

现在$temp$_POST第 1 页的内容。

于 2012-07-31T18:50:48.050 回答
0

在第 1 页:

 session_start();
 $array  = array("appel","car","human");
 $_SESSION['array'] = $array ;

在第 2 页中:

for ($i = 0; $i < count($nom); $i++) {
        echo $array[$i] . ' ';
   }
于 2022-02-26T23:02:02.293 回答