将值传递给另一个页面

时间:2011-06-08 16:44:03

标签: php

我有一个输出一些数据的页面(page1.php)。另外我还有另一个页面(page2.php),我也需要传递值。

// page1.php

$myVals = '""';

foreach($values as $name) {
    $myVals .= ',"'.( strlen($name) ? htmlspecialchars($name) : ' ').'"';
}

$_SESSION['myVals'] = $myVals;

在page2.php上我需要将myVals放入以下字符串中:

$xls->addRow(Array("First Name","Last Name","Website","ID"));

xls文件头应该有单独的值。目前,如果我将其中的字符串放入其中,则将其解释为单个值。

$xls->addRow(Array($_SESSION['myVals']));

我错过了什么?

2 个答案:

答案 0 :(得分:1)

请注意

array("First Name","Last Name","Website","ID")

不同
array('"First Name","Last Name","Website","ID"')

第一个创建一个包含四个元素的数组,而第二个创建一个只包含一个元素的数组,因为逗号是字符串的一部分,而不是array()语句的一部分。调用array($_SESSION['myVals'])等同于第二个示例,因为$_SESSION['myVals']只是字符串

你应该创建一个合适的数组:

$myVals = array();

foreach($values as $name) {
    $myVals[] = strlen($name) ? htmlspecialchars($name) : ' ';
}

$_SESSION['myVals'] = $myVals;

并将此内容传递给$xls->addRow()

$xls->addRow($_SESSION['myVals']);

答案 1 :(得分:1)

为什么不将它作为数组存储在page1中?

第1页:

foreach($values as $name) {
   $_SESSION['myVals'][] = strlen($name) ? htmlspecialchars($name) : ' ';
}

2页:

$xls->addRow($_SESSION['myVals']);