开发者

Using an HTML checkbox to put 1 or 0 into a MySQL table

I am using a simple HTML checkbox in a form to put a 1 for checked and a 0 for unchecked in a field called "subcheck" in a MySQL table.

Does the checkbox default to 1 for "checked" and 0 for unchecked? If not, how can I give it those values?

Form:

<div class="subcheck"><INPUT TYPE=CHECKBOX NAME="subcheck">Click here to receive free money in the mail.<P></div>

In the file the form goes to:

$subcheck = $_POST['subcheck'];

mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL,开发者_如何学C '$subcheck')");

The MySQL table:

`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`)
)


To be sure that always 1 or 0 is sent, you can insert an input hidden with the same name of the checkbox in the html:

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

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

This way, you don't need to check in server side if the textbox is set or not ;)


If the checkbox isn't ticked then nothing is sent to the server. Instead, you can provide a default value with:

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


If Checkbox is unchecked then $subcheck is not submited at all.

In PHP you should write:

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

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


u should try if statement or ternary condition statement.. if(isset($_POST['subcheck'])) $subcheck = 1; else $subcheck = 0;

or u can try $subcheck = (isset($_POST['subcheck'])) ? 1 : 0;

and in database u should use enum type for subcheck


This can be used as follows

on form page

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

on processing page

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜