PHP中获取多个复选框的值,一定要给复选框的name属性值加[]吗
我发现PHP程序中,为获取复选框的值,通常都给复选框的name属性加[],例如:
<html><body>
<h1 align="center">新用户注册</h1>
<form name="frmInfor" method="Post" action="6-5.php">
姓名:<input type="text" name="name"><br>
性别:<input type="radio" name="Sex" value="1" checked="checked">男
<input type="radio" name="Sex" value="0">女<br>
爱好:<input type="checkbox" name="hobby[]" value="太极拳">太极拳
<input type="checkbox" name="hobby[]" value="音乐">音乐
<input type="checkbox" name="hobby[]" value="旅游">旅游<br>
职业:<select name="career">
<option value="教育业">教育业</option>
<option value="医疗业">医疗业</option>
<option value="其他">其他</option>
</select><br>
个性签名:<textarea name="intro" rows="2" cols="20"></textarea><br>
<input type="submit" value=" 提 交 ">
</form>
</body></html>
能不能不加,用别的办法取代了,因为我想把ASP的程序转换为PHP的程序,我希望HTML文件不改动最好。
还有,就是说加了这个hobby[],获取到的就会是个数组,不加就不是,这和ASP也不同哦,ASP对于多个name属性值相同的元素,获取到的总是数组。
[解决办法]
这个没办法改变了
[解决办法]
如果要既不改变HTML结构又想获取多选框的数组,那么楼主可以用JS获取多选框的值并合成JS数组,然后传值给PHP。
[解决办法]
这是php的一个约定,除非修改内核,不能改变
但是你也可以自行处理提交的数据,希望你具备着个能力
对于表单
<form method=post>
姓名:<input type="text" name="name"><br>
性别:<input type="radio" name="Sex" value="1" checked="checked">男
<input type="radio" name="Sex" value="0">女<br>
爱好:<input type="checkbox" name="hobby" value="太极拳">太极拳
<input type="checkbox" name="hobby" value="音乐" checked>音乐
<input type="checkbox" name="hobby" value="旅游" checked>旅游<br>
<input type="submit" value=" 提 交 ">
</form>
echo urldecode(file_get_contents('php://input'));你将得到形如这样的串:name=&Sex=1&hobby=音乐&hobby=旅游