Использование HTML-кода для размещения 1 или 0 в таблице MySQL

Я использую простой 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`) ) 

Solutions Collecting From Web of "Использование HTML-кода для размещения 1 или 0 в таблице MySQL"

Если флажок не отмечен, на сервер ничего не отправляется. Вместо этого вы можете указать значение по умолчанию:

 $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;