Подтвердить что ты не робот

Использование 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`)
)
4b9b3361

Ответ 1

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

$subcheck = (isset($_POST['subcheck'])) ? 1 : 0;

Ответ 2

Чтобы быть уверенным, что всегда отправлено 1 или 0, вы можете вставить вход, скрытый с тем же name из флажка в html:

//The input hidden
<input type="hidden" name="subcheck" value="0" />

//The checkbox
<input type="checkbox" name="subcheck" value="1" /> 

Таким образом, вам не нужно проверять серверную сторону, если установлено текстовое поле;)

Ответ 3

Если флажок снят, то $subcheck вообще не отправляется.

В PHP вы должны написать:

if !(isset($_POST['subcheck']))
  $subcheck = 0;

mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");

Ответ 4

u должен попробовать оператор if или тернарный. если (Исеть ($ _ POST [ 'subcheck'])) $ subcheck = 1; еще $ subcheck = 0;

или вы можете попробовать $ subcheck = (isset ($ _ POST ['subcheck']))? 1: 0;

а в базе данных u следует использовать тип перечисления для subcheck

Ответ 5

Это можно использовать следующим образом

на странице формы

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

на странице обработки

    $status = (isset($_REQUEST['status']));
    if ($status == 1 )
      {
        $status = 1;
      }
    else
     {
       $status = 0;
     }
   echo $status;