На моем веб-сайте у меня есть три базы данных: новые задачи, ожидающие решения задачи и конкурирующие задачи. Перемещение данных из новых задач в ожидающие задачи работает, но когда я пытаюсь перенести данные из ожидающих задач на завершенные задачи, я получаю следующую ошибку:
Примечание: Неопределенный индекс: id в C:\wamp64\www\Test\mark-complete.php в строке 66 Вызов стека #TimeMemoryFunctionLocation 10.0008247288 {main}()...\mark-complete.php: 0 "/>
Строка 66 - это следующий код:
<input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
Вот мой полный код для переноса данных из ожидающего завершения:
<?php
if(isset($_POST["id"]) && !empty($_POST["id"])){
require_once 'config.php';
$param_id = trim($_POST["id"]);
$sql1 = "INSERT INTO completetask SELECT * FROM pendingtask WHERE id = ? ";
$sql2 = "DELETE FROM pendingtask WHERE id = ? ";
if($stmt = mysqli_prepare($link, $sql1)){
mysqli_stmt_bind_param($stmt, "i", $param_id);
if(mysqli_stmt_execute($stmt)){
// Record inserted successfully. Close statement and delete record
from table_1
mysqli_stmt_close($stmt);
if($stmt = mysqli_prepare($link, $sql2)){
mysqli_stmt_bind_param($stmt, "i", $param_id);
if(mysqli_stmt_execute($stmt)){
// Close statement
mysqli_stmt_close($stmt);
// Records deleted successfully. Redirect to landing page
header("location: notifications.php");
exit();
}else{
echo "Oops! Something went wrong. Please try again later.";
}
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
// Close connection
mysqli_close($link);
} else{
// Check existence of id parameter
if(empty(trim($_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>View Record</title>
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<style type="text/css">
.wrapper{
width: 500px;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h1>Move Task to Completed Tasks</h1>
</div>
<form action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<div class="alert alert-danger fade in">
<input type="hidden" name="id" value="<?php echo
trim($_GET["id"]); ?>"/>
<p>Are you sure you want to move to Completed Tasks?
</p><br>
<p>
<input type="submit" value="Yes" class="btn btn-
danger">
<a href="notifications.php" class="btn btn-
default">No</a>
</p>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>
попытайтесь заменить это противоправное утверждение чем-то похожим:
<?php echo isset($_POST["id"]) ? $_POST["id"] : ""); ?>
не будет никаких $_GET["id"]
если вы не запросите строку запроса, например. /index.php?id=420
.