繁体   English   中英

PHP:提交复选框到数据库

[英]PHP: Submit checkbox to database

我在向我的数据库提交复选框值和详细信息时遇到麻烦。

这是我的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');

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

如果按下复选框,则按提交后,这是在URL中看到的内容:

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

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

提交数据的经典方法是将value属性添加到表单中的checkboxes元素。 在服务器端,您必须修改“ null”的值。

<input type="checkbox" name="checkAccount" value="putyourvaluehere"/>
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']) ) {

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

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

尝试这个:

首先,您必须按如下方式编辑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>

您没有给复选框赋值,也没有在标签内使用“提交”按钮 ,这不是一个好习惯。

更换:

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

至:

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

//您的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!');

如果($ value == 1){

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

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

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

}

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

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM