簡體   English   中英

如何檢查PHP中是否勾選了復選框

[英]How to check if a checkbox is ticked in PHP

好的,所以基本上我有一個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                  *********

有什么建議么? 如果您想要更多的代碼示例,我很樂意提供給他們(如果有幫助的話)。

代替

$mailinglist = $_POST['mailinglist'];

相信您要使用:

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

僅當選中復選框時,才包含與復選框關聯的name 它的值是復選框的value (已省略)。

你可以試試這個嗎

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

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

在您的html頁面中:

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

提交表格后,您可以使用以下方法進行檢查:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM