[英]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.