Thay vì đặt một số dữ liệu trong name
, tạo name
thuộc tính nào đó bạn biết và sử dụng giá trị value
thuộc tính dữ liệu không xác định, tên trong trường hợp này.
Vì vậy,
<input type='hidden' name='" . $tab[$x][1] . "' />
trở thành
<input type='hidden' name="thename" value='" . $tab[$x][1] . "' />
Bây giờ trong PHP, bạn biết những gì cần tìm. Vì vậy, tất cả những gì chúng ta cần khắc phục bây giờ là SQL Injection Attack vấn đề, chúng tôi làm điều đó bằng cách chuẩn bị truy vấn với một tham số và sau đó liên kết một giá trị với tham số như thế này
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST["delete-submit"]))
{
require "dbh.ext.php";
// add a parameter to the query and not a concatenated value
$sql = "DELETE FROM `persons` WHERE `name` = ?";
$stmt = $conn->prepare($sql);
// bind the value to the parameter
$stmt->bind_param('s', $_POST['thename']);
$res = $stmt->execute();
if (!$res) {
header("Location: ../persons/persons.php?error=sqlerror");
exit;
} else {
header("Location: ../persons/persons.php");
exit();
}
}