PHP:文件系统扩展

2vuwiymt  于 2023-02-03  发布在  PHP
关注(0)|答案(6)|浏览(145)

我在向数据库提交复选框值和详细信息时遇到问题。
这是我的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>

这是检查。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

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

qq24tv8q

qq24tv8q1#

提交数据的经典方法是在表单的checkboxes元素中添加value属性。在服务器端你必须检查“null”的值。

<input type="checkbox" name="checkAccount" value="putyourvaluehere"/>
xghobddn

xghobddn2#

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']) ) {
h43kikqp

h43kikqp3#

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

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

3hvapo4f4#

试试这个:
首先你必须编辑你的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>

你没有给复选框赋值使用标签内的提交按钮,这不是好的做法。

piv4azn7

piv4azn75#

替换:

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

致:

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

uplii1fm6#

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

?>

相关问题