【发布时间】:2011-01-17 03:42:12
【问题描述】:
我如何在 PHP 中检查 checkbox 是否被检查?
【问题讨论】:
标签: php html checkbox input checked
我如何在 PHP 中检查 checkbox 是否被检查?
【问题讨论】:
标签: php html checkbox input checked
如果复选框被选中,那么复选框的值将被传递。否则,该字段不会在 HTTP 帖子中传递。
if (isset($_POST['mycheckbox'])) {
echo "checked!";
}
【讨论】:
checkbox 被选中,然后取消选中然后提交表单,这是否有效?
ASP.NET MVC 处理它的方式不同,所以我认为它在PHP 中是相似的,但看起来不是。 :)
您可以通过isset() 或empty()(其检查显式isset)检查是否选中天气复选框
例如
<input type='checkbox' name='Mary' value='2' id='checkbox' />
这里可以查看
if (isset($_POST['Mary'])) {
echo "checked!";
}
或
if (!empty($_POST['Mary'])) {
echo "checked!";
}
如果你想做很多比你可以做一个数组而不是为所有复选框单独写,上面将只检查一个,试试像
<input type="checkbox" name="formDoor[]" value="A" />Acorn Building<br />
<input type="checkbox" name="formDoor[]" value="B" />Brown Hall<br />
<input type="checkbox" name="formDoor[]" value="C" />Carnegie Complex<br />
php
$aDoor = $_POST['formDoor'];
if(empty($aDoor))
{
echo("You didn't select any buildings.");
}
else
{
$N = count($aDoor);
echo("You selected $N door(s): ");
for($i=0; $i < $N; $i++)
{
echo htmlspecialchars($aDoor[$i] ). " ";
}
}
【讨论】:
insert into table_name (choice) VALUES ('$aDoor')
试试这个
index.html
<form action="form.php" method="post">
Do you like stackoverflow?
<input type="checkbox" name="like" value="Yes" />
<input type="submit" name="formSubmit" value="Submit" />
</form>
form.php
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['like']))
{
echo "<h1>You like Stackoverflow.<h1>";
}
else
{
echo "<h1>You don't like Stackoverflow.</h1>";
}
?>
</body>
</html>
或者这个
<?php
if(isset($_POST['like'])) &&
$_POST['like'] == 'Yes')
{
echo "You like Stackoverflow.";
}
else
{
echo "You don't like Stackoverflow.";
}
?>
【讨论】:
如果您不知道您的页面有哪些复选框(例如:如果您正在动态创建它们),您可以简单地在复选框上方放置一个具有相同名称和 0 值的隐藏字段。
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
这样你会得到 1 或 0 取决于复选框是否被选中。
【讨论】:
我非常喜欢短手:
$isChecked = isset($_POST['myCheckbox']) ? "yes" : "no";
【讨论】: