<?php
require_once "db.php";
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
// Prepare a delete statement
$sql = "DELETE FROM excel WHERE id = ?";
if($stmt = mysqli_prepare($con, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "i", $param_id);
// Set parameters
$param_id = trim($_POST["id"]);
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Records deleted successfully. Redirect to landing page
header("location: index.php");
exit();
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
// Close connection
mysqli_close($con);
} else{
// Check existence of id parameter
/*if(empty($_GET["id"])){
// URL doesn't contain id parameter. Redirect to error page
header("location: error.php");
exit();
}*/
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Delete Record</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style>
.wrapper{
width: 600px;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<h2 class="mt-5 mb-3">Delete Record</h2>
<form id="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="alert alert-danger">
<input type="hidden" name="id" value="<?php echo trim($_POST["id"]); ?>">
<p>Are you sure you want to delete this employee record?</p>
<p>
<input type="submit" value="Yes" class="btn btn-danger">
<a href="index.php" class="btn btn-secondary">No</a>
</p>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
<input type="hidden" name="id" value="<?php echo trim($_POST["id"]); ?>">
- вангую что у вас там вечно пустое значение, так что и форма отправляет ровно ничего. Ну и код соответственно посылает вас на... error.php.<form id="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
данная конструкция показывает нам насколько глубоко зашел маразм в неизучении базовых вещей, кроме того что это полная ерунда, не несущая смысла, еще и задумка видимо - отправлять на себя выполнена на троечку с минусом, так как в таком случае action можно не указывать вообще.