a.php中有一个二维数据,传给b.php
a.php
<form name="loadConfirm" method="post" action="b.php?m=1">
<input type="hidden" name="data[]" value="<?php print_r($arr);?>">//此处如处写啊??有何技巧???
<input type="submit" name="submit" value="导入以上数据/Submit" onClick="return confirm('确定提交吗?/Are you sure?');">
</form>b.php
if($_GET['m']){
print_r($_POST['data']);
saveData($_POST['data']);//一个插入数据库函数
}
?>
通过此法,得到的$_POST['data']变成了一个三维数组了,如何办???
a.php
<form name="loadConfirm" method="post" action="b.php?m=1">
<input type="hidden" name="data[]" value="<?php print_r($arr);?>">//此处如处写啊??有何技巧???
<input type="submit" name="submit" value="导入以上数据/Submit" onClick="return confirm('确定提交吗?/Are you sure?');">
</form>b.php
if($_GET['m']){
print_r($_POST['data']);
saveData($_POST['data']);//一个插入数据库函数
}
?>
通过此法,得到的$_POST['data']变成了一个三维数组了,如何办???
壮士,你试试
$arr = array("'", "\\");
echo serialize($arr);这个结果是需要转义的,否则html表单传值会出错但是通常php数据提交会转义,这就对期望的字符串转义了2次unserialize的时候,注意去转义,然后复原出数据
并没有离开本站,保存在 session 中就可以了
何必劳烦网络搬来搬去?
使用session,我试过未成,我不会存数组?请指教?谢谢了。
那个序列化,我又修改了,我也未成功。<form name="loadConfirm" method="post" action="insert.php?m=1">
<input type="hidden" name="data" value="<?php echo serialize($arr);?>">
<input type="submit" name="submit" value="导入以上数据/Submit" onClick="return confirm('确定提交吗?/Are you sure?');">
</form>
if($_GET['m']){
print_r(unserialize($_POST['data']));
saveData($_POST['data']);
}
?>
print_r(unserialize($_POST['data']));//这只是验证一下数据的完整性
saveData(unserialize($_POST['data']));//这样才能传递数组过去
}
print_r(unserialize(stripslashes(stripslashes(addslashes(addslashes(serialize($arr)))))));
<form name="loadConfirm" method="post" action="insert.php?m=1">
<input type="hidden" name="data" value="<?php echo serialize($arr);?>">
<input type="submit" name="submit" value="导入以上数据/Submit" onClick="return confirm('确定提交吗?/Are you sure?');">
</form>
if($_GET['m']){
saveData(unserialize($_POST['data']));
}我在savaData中print_r一下,得到 一个不完完整的组列。气死我了。
但是此般没成功
saveData(unserialize($_POST['data']));最后这般成功了。
saveData(unserialize(StripSlashes($_POST['data'])));再次谢谢和位。