我将一个数组中的各种字符串转换为一个页面,然后将数据库放入另一个页面中。
$menuId = str_split($_SESSION['menuId'] = $mostrar['menuId']);
var_dump($menuId);
这是我在第一页的输出。
array(1) { [0]=> string(1) "4" } array(1) { [0]=> string(1) "5" } array(1) { [0]=> string(1) "6" }
在第二页我有那个输出。
string(0) ""
我需要在数据库中插入相同的数组,但这不会发生。
我的代码是:
$id_resp = (isset($_POST['id_resp']) ? $_POST['id_resp'] : '');
$id = $_SESSION['UtilizadorID'];
$data = (isset($_POST['data']) ? $_POST['data'] : '');
//$menuId = $_SESSION['menuID'];
$menuId = (isset($_POST['menuId']) ? $_POST['menuId'] : '');
var_dump($menuId);
$option = isset($_POST['corp_resp']) ? $_POST['corp_resp'] : false;
if ($option) {
foreach ( $option as $corp_resp )
mysql_query("INSERT INTO respostas (id_resp, corp_resp,id,data,menuId) VALUES ('','" . $corp_resp . "','" . $id . "', NOW( ) , '$menuId')") or die("Alguma coisa correu mal durante o registo. MySQL erro: ".mysql_error());
} else {
echo "task option is required";
exit;
答案 0 :(得分:0)
如果您想发布该数组,可以使用serialize方法进行发布,如下所示。
<input type="hidden"
id="menuId"
name="menuId"
value="<?php print base64_encode(serialize($menuId)) ?>">;
发布后,您可以unserialize如下所示使用它。
$menuId= $_POST["menuId"];
$menuId = unserialize(base64_decode($menuId));
或强>
你也可以使用会话变量。
$_SESSION['menuId'] = $menuId
参见参考HERE