[英]How can I pass the value of a checkbox from one page to another?
我試圖將選定的復選框值從一頁傳遞到另一頁,以便在我的數據庫上運行mysql語句。 這就是我所擁有的:
的HTML
<form method='POST' action='move_compaudit.php'>
<input type='hidden' name='checkbox' value='0'/>
<input type='checkbox' name='checkbox' value='1'/>
PHP (此文件稱為move_compaudit.php)
<?php
include('include/dbConnection.php');
$checkbox = isset($_POST['checkbox']) ? 'Set' : 'NotSet';
//SQL statement
$query = "SELECT * FROM compaudit;";
$results = mysqli_query($dbc,$query) or die('Error querying database');
$row = mysqli_fetch_array($results);
$query1 = "DELETE FROM compaudit WHERE serial_no = $row[7] AND $checkbox = 'Set'";
//Execute prepared MySQL statement
//$results1 = mysqli_query($dbc,$query1) or die('Error querying database');
print_r($query);
print_r($query1);
?>
我的查詢查詢質量很差 :無論點擊與否,每次都會得到此查詢 。
SELECT * FROM compaudit;DELETE FROM compaudit WHERE serial_no = 12345 AND Set = 'Set'
如果要保持HTML不變,則需要檢查$ _POST ['checkbox']的實際值,而不是檢查是否已設置。 您的隱藏字段保證即使未選中,$ _ POST仍將獲得“復選框”的值。
<?php
include('include/dbConnection.php');
$checkbox = ($_POST['checkbox'] == '1') ? 'Set' : 'NotSet';
....
Set
是mysql中的關鍵字:)您應該使用`對其進行轉義
如果在復選框前聲明一個具有相同名稱的隱藏對象,則此變量對於isset永遠為true。
查看@GameBit技巧,使用反引號轉義字段,並在使用之前將所有變量引用/轉義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.