【问题标题】:How to check if a checkbox is ticked in PHP如何检查一个复选框是否在PHP中打勾
【发布时间】:2013-11-21 07:05:58
【问题描述】:

好的,基本上我有一个 HTML 复选框:

<input type="checkbox" name="mailinglist" />

此复选框位于用户注册表单上,用于确定他们是否要订阅邮件列表。我只希望在 PHP 中返回 1 或 0(布尔值)。如您所见,我正在使用 POST:

<form action="process-create.php" method="POST">

在我的 PHP 中,它收到这样的帖子:

$mailinglist = $_POST['mailinglist'];

到目前为止,这一切看起来都很好。现在我想将它输入到数据库中(带有布尔值)。这是将其输入数据库的代码:

$data = array('username'=>$username, 'firstname'=>$firstname, 'lastname' => $lastname, 'mailing_list'=>$mailinglist, 'email'=>$email );
mysql_insert('users', $data);

即使我勾选该框,它仍然在数据库中显示 0。如您所见:

USERNAME       FIRSTNAME       LASTNAME       MAILING LIST       EMAIL
odixon         Oliver          Dixon          0                  *********

有什么建议吗?如果您想要更多代码示例,我很乐意提供(如果有帮助的话)。

【问题讨论】:

标签: php database checkbox boolean


【解决方案1】:

代替

$mailinglist = $_POST['mailinglist'];

相信你想用:

$mailinglist = isset($_POST['mailinglist']);

name与复选框关联仅在检查复选框时才包括在内。它的值是复选框的value(您已省略)。

【讨论】:

    【解决方案2】:

    你可以试试这个,

     <input type="checkbox" name="mailinglist" value="yes"/>
    
     <?php  if(isset($_POST["mailinglist"]) && $_POST["mailinglist"]=="yes"){
                 echo "checkbox ticked";
           }
     ?>
    

    【讨论】:

      【解决方案3】:

      在您的 html 页面中:

      <input type="checkbox" name="mailinglist" value="1">
      

      提交表单后,您可以通过以下方式进行检查:

      isset($_POST['mailinglist'])
      or
      if ($_POST['mailinglist'] == '1')...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-21
        • 2016-08-20
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        相关资源
        最近更新 更多