Мои отправленные данные хранятся в двух строках таблицы, а не в одной - PullRequest
0 голосов
/ 05 мая 2020

В настоящее время я работаю над проектом, в котором у меня есть две таблицы: одна - это таблица пользователей, а другая - таблица mov ie. Проблема в том, что когда я отправляю форму, связанную с таблицей mov ie, она сохраняет данные в двух строках

  1. Одна строка содержит данные, которые я ранее протестировал, отправив форму.
  2. Вторая строка содержит данные, которые я в настоящее время протестировал, отправив форму.

Я использую сервер localhost для тестирования, поэтому я тестирую его, отправляя разные данные каждый раз, и когда форма отправляется, она сохраняет две строки в первая таблица протестирована ранее, а одна тестируется в настоящее время.

Это мой код.


if (isset($_POST['submit'])) {
    if (empty($_POST['fav'])) {
        $errors['fav'] = 'Favourite required';
    }
    if (empty($_POST['rank'])) {
        $errors['rank'] = 'Rank required';
    }
    if (empty($_POST['rewatched'])) {
        $errors['rewatched'] = 'Rewatched required';
    }
    if (empty($_POST['status'])) {
        $errors['status'] = 'Status required';
    }
    if (empty($_POST['recommend'])) {
        $errors['recommend'] = 'Recommend required';
    }

    $fav = $_POST['fav'];
    $rank = $_POST['rank'];
    $rewatched = $_POST['rewatched'];
    $status = $_POST['status'];
    $recommend = $_POST['recommend'];
    $id = $_SESSION['id'];

    // Select id from users and insert into anime
    if (count($errors) === 0) {
        $query = "INSERT INTO anime SET movie_fav=?, movie_rank=?, movie_rewatch=?, movie_status=?, movie_rec=?, id =?";
        $stmt = $conn->prepare($query);
        $stmt->bind_param('siissi', $fav, $rank, $rewatched, $status, $recommend, $id);
        $result = $stmt->execute();

        if ($result) {
            $movie_id = $stmt->insert_id;
            $stmt->close();

            $_SESSION['fav'] = $fav;
            $_SESSION['rank'] = $rank;
            $_SESSION['rewatched'] = $rewatched;
            $_SESSION['status'] = $status;
            $_SESSION['recommend'] = $recommend;
            $_SESSION['message'] = 'Details have been submitted successfully!';
            $_SESSION['type'] = 'alert-success';
        } else {
            $_SESSION['error_msg'] = "Database error: Could not update details";
        }
    }
}

Я использую session_variable, чтобы получить текущий вход в систему с идентификатором пользователя. Не могу понять, где я go ошибся, вы можете мне с этим помочь.

Спасибо.

...