I stedet for at placere nogle data i et name
attribut, lav name
tilskriv noget, du kender, og brug value
tilskriv de ukendte data, navnet i dette tilfælde.
Så
<input type='hidden' name='" . $tab[$x][1] . "' />
bliver til
<input type='hidden' name="thename" value='" . $tab[$x][1] . "' />
Nu ved du i PHP, hvad du skal kigge efter. Så alt, hvad vi skal rette nu, er SQL Injection Attack problemer, gør vi det ved at forberede forespørgslen med en parameter og derefter binde en værdi til parameteren som denne
<?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();
}
}