我有一個從用戶表中檢索用戶名和可用性狀態的表。現在在我的測驗資料庫中,我有 3 條記錄。如果我嘗試更改其中任何一個的可用性欄位,請注意更新。
這是我的availability.php檔案(第一行不斷被截斷):
<form method="POST" action="av_update.php">
<table cellspacing="0" width="50%" id="users" class="table table-striped table-hover table-responsive" style="margin-left:0;">
<thead class="alert-info">
<tr>
<th>ID</th>
<th>Username</th>
<th>Available?</th>
<th>Updated By</th>
</tr>
</thead>
<tbody>
<?php
require 'config/config.php';
$sql = $db_con->prepare("SELECT * FROM `users` ORDER BY `id` DESC");
$sql->execute();
while($row = $sql->fetch()){
?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['username']; ?></td>
<td><select name="availability" id="availability" style="width:150px;font-size:1.1em;">
<option style="background-color:rgb(0,0,150);color:rgb(200,200,200);font-size:1.2em;" value='<?php echo $row['availability']; ?>'><?php echo $row['availability']; ?></option>
<option value="Available">Available</option>
<option value="Not Available">Not Available</option>
</select></td>
<td><input class="form-control" id="av_updatedby" name="av_updatedby" value="<?php echo htmlspecialchars($_SESSION["username"]); ?>">
</tr>
<?php
}
?>
</tbody>
</table>
這是我的av_update.php檔案:
require_once 'config/config.php';
if(ISSET($_POST['update'])){
try{
$id = $_GET['id'];
$availability = $_POST['availability'];
$av_updatedby = $_POST['av_updatedby'];
$db_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE `crm_users` SET `availability` = '$availability', `av_updatedby` = '$av_updatedby' WHERE `id` = '$id'";
$db_con->exec($sql);
}catch(PDOException $e){
echo $e->getMessage();
}
header("Location: av_updated.php");
die;
}
從其他表單更新任何其他欄位并從所有其他表單插入和洗掉資料都可以正常作業,所以我知道它不是連接檔案。
任何有關獲取代碼以更新表格的幫助將不勝感激。
uj5u.com熱心網友回復:
您的表單操作必須轉到 av_update.php?id=,因為您從 $_GET 陣列中獲取該值。
此外,您應該清理和驗證輸入資料,否則您的系統將面臨 SQL 注入和其他型別的攻擊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/439662.html
上一篇:加入日期最近的表
