Я использую простой HTML-флажок в форме, чтобы поставить 1 для отмеченного и 0 для непроверенных в поле под названием «subcheck» в таблице MySQL.
Установлен ли флажок по умолчанию 1 для «checked» и 0 для unchecked? Если нет, как я могу дать им эти значения?
Заранее спасибо,
Джон
Форма:
<div class="subcheck"><INPUT TYPE=CHECKBOX NAME="subcheck">Click here to receive free money in the mail.<P></div>
В файле форма:
$subcheck = $_POST['subcheck']; mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");
Таблица MySQL:
`submission` ( `submissionid` int(11) unsigned NOT NULL auto_increment, `loginid` int(11) NOT NULL, `title` varchar(1000) NOT NULL, `slug` varchar(1000) NOT NULL, `url` varchar(1000) NOT NULL, `displayurl` varchar(1000) NOT NULL, `datesubmitted` timestamp NOT NULL default CURRENT_TIMESTAMP, `subcheck` tinyint(1) NOT NULL, PRIMARY KEY (`submissionid`) )
Если флажок не отмечен, на сервер ничего не отправляется. Вместо этого вы можете указать значение по умолчанию:
$subcheck = (isset($_POST['subcheck'])) ? 1 : 0;
Чтобы быть уверенным, что всегда отправлено 1 или 0, вы можете вставить ввод, скрытый с тем же name
что и флажок в html:
//The input hidden <input type="hidden" name="subcheck" value="0" /> //The checkbox <input type="checkbox" name="subcheck" value="1" />
Таким образом, вам не нужно проверять серверную сторону, если текстовое поле установлено или нет;)
Если флажок снят, то $ subcheck вообще не отправляется.
В PHP вы должны написать:
if !(isset($_POST['subcheck'])) $subcheck = 0; mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");
u должен попытаться выполнить оператор или утверждение тернарного состояния .. if (isset ($ _ POST ['subcheck'])) $ subcheck = 1; else $ subcheck = 0;
или вы можете попробовать $ subcheck = (isset ($ _ POST ['subcheck']))? 1: 0;
и в базе данных u должен использовать тип перечисления для субчека
Это можно использовать следующим образом
<input type="checkbox" name="status" value="1" >
$status = (isset($_REQUEST['status'])); if ($status == 1 ) { $status = 1; } else { $status = 0; } echo $status;