[英]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.