簡體   English   中英

如何將復選框的值從一頁傳遞到另一頁?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM