php表单checkbox
‘壹’ php判断checkbox是否为空
要有个属性叫做 value="" 这个是值的意思。
实例:
<?php
print_r($_POST);
?>
<formaccept="#"method="post">
<h1>告诉我,你有什么手机?</h1>
苹果:<inputname="model[]"type="checkbox"value="苹果"/>
安卓:<inputname="model[]"type="checkbox"value="安卓"/>
<inputtype="submit"value="确定">
</form>
记得加 [ ] ,代表他是一个多选,将用数组的形式给你传递值
‘贰’ PHP 如何接收 复选框里的值
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,以表单post提交到index.php为例。
‘叁’ php 获取 checkbox
<script language="javascript">
var checkflag = false;
function getCheckboxItem()
{
var allSel="";
if(document.datalist.year.value) return document.datalist.year.value;
for(i=0;i<document.datalist.year.length;i++)
{
if(document.datalist.year[i].checked)
{
if(allSel=="")
allSel=document.datalist.year[i].value;
else
allSel=allSel+"`"+document.datalist.year[i].value;
}
}
return allSel;
}
function goUrl(){
var nid = getCheckboxItem();
if(nid==""){
alert("请选择数据!");
return ;
}
document.datalist.action="result.php?nid="+nid;
document.submit();
}
</script>
<form action="result.php" method="POST" name=datalist>
<input type="checkbox" name="year" value="1">1
<input type="checkbox" name="year" value="2">2
<input type="checkbox" name="year" value="3">3 <br>
<input type="button" onclick="goUrl()" name="btn_ok" value="ok">
</form>
这样提交过去的参数就是 1`2`3`4`5
在接受页面$nid=explode("`",$_REQUEST['nid']);
这样$nid就是数组了
‘肆’ PHP中如何获取多个checkbox的值
在PHP中获取多个checkbox值可以用一下方法,一般在前端,我们的checkbox值都是通过POST请求到后端的,而POST值是一个数组,我们可以在前端命名checkbox节点的时候,用"[]"来添加到命名后面。
举个例子,下面时前端代码,注意name命名方式:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
<htmlxmlns="
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>demo</title>
</head>
<body>
<formid="form1"name="form1"method="post"action="a.php">
<inputname="checkbox[]"type="checkbox"id="checkbox"value="1"/>
<inputname="checkbox[]"type="checkbox"id="checkbox"value="2"/>
<inputname="checkbox[]"type="checkbox"id="checkbox"value="3"/>
<inputname="checkbox[]"type="checkbox"id="checkbox"value="4"/>
<inputtype="submit"name="button"id="button"value="submit"/>
</form>
</body>
</html>
后端简单点:
<?php
print_r($_POST);
?>
到最后我们看到的结果是这个:
Array
(
[checkbox]=>Array
(
[0]=>1
[1]=>2
[2]=>3
[3]=>4
)
[button]=>submit
)
从里面可以看到checkbox中有多个值对应 1,2,3,4
这样就可以多喝checkbox值传递了。
‘伍’ php修改select、checkbox和radio表单的值
我明白了你要问题。
用户提交时选中的值,是提交到数据库中的。
修改资料的时候,从数据库中读取提交是的值,然后,再设置此值被选中。
我写了一个类似的简化一些的例子,你仿照做,可以解决你遇到的问题。
<!doctypehtml>
<html>
<metacharset="utf-8"/>
<title>test</title>
<body>
<?php
$classfy_arr=array('搞笑','萌系','少女');
$classfy_selected='萌系';//此值为演示值。正确的做法是:从数据库中读取出用户提交信息时,设置的值
?>
<selectname="classfiy">
<option>请选择</option>
<?php
foreach($classfy_arras$val){
?>
<optionvalue="<?phpecho$val;?>"<?phpif($classfy_selected==$val)echo'selected';?>><?phpecho$val?></option>
<?php
}
?>
</select>
</body>
</html>
‘陆’ php 怎么获取表单复选框内容
php 获取表单复选框内容,我们一般都是在给这个checkbox添加一个name属性,与id中的值是一样的,然后在通过php的post来获取就行了,这里我写一段代码:
<html>
<head></head>
<body>
<form action="" method='post'>
<tr>
<td>擅长的编程语言:</td>
<td>
HTML<input type="checkbox" name="good[]" value="html">
CSS<input type="checkbox" name="good[]" value="css">
JavaScript<input type="checkbox" name="good[]" value="javascript">
PHP<input type="checkbox" name="good[]" value="php">
Mysql<input type="checkbox" name="good[]" value="mysql">
</td>
</tr>
</form>
</body>
</html>
在php中:
alert($_POST['$_POST['good']']); //弹出获取到的checkbox的值;