0

第 1 页

$formData = array();
$formData[0] = 'insert data done';
$_SESSION['form_data'] = $formData;
header('Location: view.php');

第2页

if (isset($_SESSION['form_data'][0])) {
echo $_SESSION['form_data'][0];
unset($_SESSION['form_data']);
}

在第 1 页代码中,我注释掉标题并放置一个

var_dump($_SESSION['form_data'][0]);

正如我所希望的

"string(16) "insert data done"" 

这是正确的,但在第 2 页我放了一个

var_dump($_SESSION['form_data'][0]);

输出是

字符串(1)“我”

我做错了什么。在第 2 页中,我只想回显该值并取消设置它,但我尝试使用

var_dump($_SESSION['form_data']);

输出是正确的

也许我令人不安的方法可能是错误的。

4

1 回答 1

1

你试过echo $_SESSION['form_data']吗?似乎你得到了字符串的第一个字母。

我认为如果在 $_SESSION 变量上只设置了一对 key => value,它会自动减少到它的值。但我在网上找不到任何参考资料。

尝试在第 1 页使用此代码:

$formData['someKey'] = 'insert data done';

这在第 2 页:

echo $_SESSION['form_data']['someKey'];

让我们看看发生了什么...

于 2012-09-22T09:01:08.243 回答