【问题标题】:verifying if checkbox is checked in php验证是否在 php 中选中了复选框
【发布时间】:2017-01-21 13:17:36
【问题描述】:

我想验证我的复选框是否在 php 中被选中,如果是,我想回显“Hello word”。 这是我的html代码:

<form class="checkclass">
<input type="checkbox" name="checkbox1"> 4K </input>
</form>

php:

 <?php
if (isset($_POST['checkbox1'])) {
    echo "Hello world!";
}
?>

但它不起作用,我真的不知道如何解决这个问题。 有人可以帮我吗?

【问题讨论】:

  • 这是表格的一部分吗?我不确定你是否在这里给了我们足够的代码。
  • 如果是表单的一部分,方法是否设置为 POST? var_dump($_REQUEST); 的值是多少?
  • 未选中的复选框不会与表单一起提交。因此,如果你得到$_POST['name_of_checkbox'],那么它就会被检查。
  • 以什么方式“不”工作?
  • 您的代码应该可以工作。 MarcB 的评论是正确的,因此使用isset 进行检查是检查复选框是否设置的正确方法。如果没有,可能是由于各种原因,没有反映在你的代码sn-p中。可能是错误的表单方法 (get)、错误的目标 url 或另一段代码中的简单语法错误,或者根本没有在您的服务器上安装 PHP。如果没有正确的错误消息,最好还有周围的代码,我们将无法提供帮助。

标签: php if-statement checkbox checked


【解决方案1】:

isset($_GET['checkbox1'])) 不起作用,因为它正在检查 URL 查询字符串。不是表单提交。使用 $_POST 而不是 $_GET。所以它会是这样的:

if (isset($_POST['checkbox1'])) {
// Go ahead and do stuff because it is checked
}

【讨论】:

  • 注意:原始海报有if (isset($_GET['checkbox1'])) { echo "Hello world!"; } 注意“$_GET”。自从我最初的回答以来,他们最初的问题已经改变了。此外,他们将输入放在
【解决方案2】:

您正在发送 GET 请求,但作为 POST 请求处理。以下任一代码都可以使用:

<form class="checkclass" method="POST">
<input type="checkbox" name="checkbox1"> 4K </input>
</form>

 <?php
if (isset($_POST['checkbox1'])) {
    echo "Hello world!";
}
?>

<form class="checkclass">
<input type="checkbox" name="checkbox1"> 4K </input>
</form>

 <?php
if (isset($_GET['checkbox1'])) {
    echo "Hello world!";
}
?>

【讨论】:

  • @davidmalek 我的代码有效。你的环境没有。
猜你喜欢
  • 2018-03-23
  • 2017-04-05
  • 2015-01-10
  • 1970-01-01
  • 2014-10-29
  • 2017-06-07
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多