PHP:提交数据库复选框

时间:2013-06-11 09:52:16

标签: php mysql database forms checkbox

我无法向我的数据库提交复选框值和详细信息。

这是我的HTML:

<form method="get" action="check.php">
            <input type="checkbox" name="checkAccount"/>
            <input type="hidden" name="table_name" value="masterChart" />
            <input type="hidden" name="column_name" value="account" />
            <p><a href='check.php'><input type="submit" class="btn btn-primary" value="Submit" /></a></p>
    </form>

这是check.php:

$table = $_GET['table_name'];
$column = $_GET['account'];

$dbc = mysqli_connect('localhost', 'root', 'root', 'database') or die('Connection error!');

if ($value = 1) {
 $checkbox = "INSERT INTO login_table_display(`user`, `table`, `column`, `value`) VALUES(`:user`, '$table', '$column', `$value`)";
 mysqli_query($dbc, $checkbox) or die('Database error, check!');
 }

header('location:index.php');

正如您在上面所看到的,我使用变量来获取该复选框的其他详细信息以便插入到表中。

如果勾选复选框后按提交,这就是网址中的内容:

http://localhost/admin/check.php?checkAccount=on&table_name=masterChart&column_name=account

任何建议或帮助将不胜感激!

6 个答案:

答案 0 :(得分:2)

提交数据的经典方法是将value属性添加到表单中的checkboxes元素。在服务器端,您必须将&#34; null&#34;。

的值保持为ckeck
<input type="checkbox" name="checkAccount" value="putyourvaluehere"/>

答案 1 :(得分:2)

Your Html is not ok

It should be

<form method="get" action="check.php">
            <input type="checkbox" name="checkAccount"/>
            <input type="hidden" name="table_name" value="masterChart" />
            <input type="hidden" name="column_name" value="account" />
            <p><input type="submit" class="btn btn-primary" value="Submit" /></p>
    </form>

Also
if(isset($_POST['checkAccount']) {

Should Be
if( isset($_POST['checkAccount']) ) {

答案 2 :(得分:1)

复选框值仅在选中后才会提交。请使用isset($_GET['checkAccount'])

$var= isset($_GET['checkAccount']) ? 1 : 0; // Or whatever values you use in DB

答案 3 :(得分:1)

试试这个:

首先,你必须编辑你的html代码,如下所示;

<form method="get" action="check.php">
    <input type="checkbox" name="checkAccount" value='cool'/>
    <input type="hidden" name="table_name" value="masterChart" />
    <input type="hidden" name="column_name" value="account" />
    <p><input type="submit" class="btn btn-primary" value="Submit" /></p>
</form>

您不是为复选框提供价值使用标记内的提交按钮,这不是一个好习惯。

答案 4 :(得分:0)

替换:

 if(isset($_POST['checkAccount'])

为:

 if(isset($_GET['checkAccount'])   

答案 5 :(得分:0)

//你的HTML代码应该是这样的

<form method="get" action="check.php">

        <input type="checkbox" name="checkAccount"/>

        <input type="hidden" name="table_name" value="masterChart" />

        <input type="hidden" name="column_name" value="account" />

        <p><input type="submit" class="btn btn-primary" value="Submit" /></p>
</form>



<?php

$ table = $ _GET ['table_name'];

$ column = $ _GET ['account'];

$ value = isset($ _ GET ['checkAccount'])? 1:0;

$ dbc = mysqli_connect('localhost','root','root','database')或die('Connection error!');

if($ value == 1){

$ checkbox =“INSERT INTO login_table_display('user','table','column','value')

VALUES(':user','$ table','$ column','$ value')“;

mysqli_query($ dbc,$ checkbox)或死('数据库错误,检查!');

}

头( '位置:的index.php');

&GT;