第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]);
输出
string(1)“i”
我做错了什么。在第2页我只想回显值并取消设置但我尝试使用var_dump($_SESSION['form_data']);
输出正确
也许我不安的方法可能不对。
答案 0 :(得分:1)
你试过echo $_SESSION['form_data']
吗?看来你正在收到字符串的第一个字母。
我认为如果只有一对键=> value在$ _SESSION变量上设置,它会自动缩减为其值。但我在网上找不到任何参考资料。
尝试在第1页上使用此代码:
$formData['someKey'] = 'insert data done';
和第2页上的内容:
echo $_SESSION['form_data']['someKey'];
让我们看看会发生什么......