Получение ошибки при перемещении данных из одной базы данных в другую в mysql и php [duplicate]

0

На моем веб-сайте у меня есть три базы данных: новые задачи, ожидающие решения задачи и конкурирующие задачи. Перемещение данных из новых задач в ожидающие задачи работает, но когда я пытаюсь перенести данные из ожидающих задач на завершенные задачи, я получаю следующую ошибку:

Примечание: Неопределенный индекс: 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>
  • 0
    Работает ли операция иначе? Так как это всего лишь предупреждение
  • 0
    @James Если вы считаете, что это возможный дубликат, лучше «пометить» его как единое целое, вместо того, чтобы вводить его в качестве комментария. Когда это помечено, оно обнаруживается где-то, что другие могут получить при голосовании, чтобы закрыться как таковые. Кроме того, если я или кто-то еще, кто может забить это за один раз, то это тоже покажет ваше имя, а не просто человек, который ударил его. Просто подумал, что дам вам знать, как работает голосование, чтобы закрыть. Почему я думаю, что вы сделали это, вероятно, будет то, что вы не можете «голосовать», чтобы закрыть как дубликат. Да, но вы можете «пометить» как дубликат.
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

попытайтесь заменить это противоправное утверждение чем-то похожим:

<?php echo isset($_POST["id"]) ? $_POST["id"] : ""); ?>

не будет никаких $_GET["id"] если вы не запросите строку запроса, например. /index.php?id=420.

  • 0
    Спасибо, все работает. Была отдельная проблема с записью в базу данных. Но все решено сейчас

Ещё вопросы

Сообщество Overcoder
Наверх
Меню