我有这个代码,它应该在同一页面中发送数据,然后将数据推送到数组中。
$array = array();
if (isset($_POST["array"])) {
$array=unserialize($_POST["array"]);
}
if (isset($_POST["uname"]) && isset($_POST["upass"])) {
array_push($array,$nama=$_POST["uname"]+" "+$pass=$_POST["upass"]);
}
print_r($array);
<form action="" method="POST">
username : <input type="text" name="uname">
password : <input type="password" name="upass">
<input type="hidden" value="<?php serialize($array)?>" name="array">
<input type ="submit">
</form>
然后我收到此错误:
array_push()期望参数1是数组,在
中给出布尔值
我如何处理此错误?
答案 0 :(得分:-1)
首先:&#34;反序列化($ _ POST [&#34; array&#34;]);&#34;。你真的发布序列化数据吗? 我认为,没有,因此unserialize()返回boolean false而不是数组。所以当你把它传递给array_push时,它说$ array是boolean。
发布你的html表单应该填写这个数组。正如上面的评论所述,var_dump($ _ POST [&#34; array&#34;])也会有所帮助。