2

チェックボックスの値と詳細をデータベースに送信できません。

これは私の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

任意の提案やヘルプをいただければ幸いです!

4

6 に答える 6

2

データを送信する従来の方法は、フォームのチェックボックス要素に value 属性を追加することです。サーバー側では、「null」の値を確認する必要があります。

<input type="checkbox" name="checkAccount" value="putyourvaluehere"/>
于 2013-06-11T10:03:42.943 に答える
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']) ) {
于 2013-06-11T10:12:30.057 に答える
1

チェックボックスの値は、チェックされている場合にのみ送信されます。これに使用isset($_GET['checkAccount'])します:

$var= isset($_GET['checkAccount']) ? 1 : 0; // Or whatever values you use in DB
于 2013-06-11T09:54:49.233 に答える
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>

チェックボックスに値を与えておらず、タグ内で送信ボタンを使用していません。これは良い習慣ではありません。

于 2013-06-11T10:05:02.090 に答える
0

交換:

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

に:

 if(isset($_GET['checkAccount'])   
于 2013-06-11T09:58:27.310 に答える
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['アカウント'];

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

$dbc = mysqli_connect('localhost', 'root', 'root', 'database') or die('接続エラー!');

もし ($値 == 1) {

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

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

mysqli_query($dbc, $checkbox) または die('データベース エラー、チェック!');

}

header('location:index.php');

?>

于 2013-06-11T12:04:04.273 に答える