【发布时间】:2017-01-20 04:15:49
【问题描述】:
这可能是重复的,但我找不到任何帮助。
我正在尝试通过表单的 post 方法将所有数据的数组传递到另一个页面。它看起来像这样:
<form method="post" action="../resource_load/export.php" target="_blank">
<input type="hidden" name="tipo" value="<?=$_GET['tipo']?>">
<input type='hidden' name='excel_array' value='<?php echo htmlentities(serialize($_SESSION['excel_array']))?>'>
<input type='submit' class='submit' id='btnExport' value='Export to Excel' />
所以我在这里序列化 $_SESSION 数据。这就是它的样子:
value="a:1:{s:12:"dpi_strategy";a:1:{s:5:"Plan1";a:1:{i:0;a:9:{i:0;s:3:"PCR";i:1;s:11:"Description";i:2;s:4:"Task";i:3;s:8:"Resource";i:4;s:13:"Baseline Plan";i:5;s:10:"Trend Date";i:6;s:4:"User";i:7;s:20:"Data Inicialização";i:8;s:6:"Status";}}}}
这是我反序列化的地方:
$Excel_array = htmlentities(unserialize($_POST['excel_array']));
然而,它返回 null。这是为什么呢?
【问题讨论】:
-
我不明白。您序列化会话变量并在另一个页面/脚本中取消序列化它?只需访问其他页面中的会话变量
-
我想把它变成$_POST数据,这样当我打开另一个标签时它就不会被替换
-
不会被替换。只需访问其他页面上的会话数据。试试看。
-
你不是在解码,而是在向后解码:
unserialize(html_entity_decode($_POST['excel_array'])); -
我的意思是,如果用户打开各种选项卡,则只会保留最近的会话,我目前正在将会话信息导出到 excel,这就是为什么我想改用 $_POST
标签: php session serialization