我无法向我的数据库提交复选框值和详细信息。
这是我的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
任何建议或帮助将不胜感激!
答案 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;