В настоящее время я работаю над проектом, в котором у меня есть две таблицы: одна - это таблица пользователей, а другая - таблица mov ie. Проблема в том, что когда я отправляю форму, связанную с таблицей mov ie, она сохраняет данные в двух строках
- Одна строка содержит данные, которые я ранее протестировал, отправив форму.
- Вторая строка содержит данные, которые я в настоящее время протестировал, отправив форму.
Я использую сервер 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 ошибся, вы можете мне с этим помочь.
Спасибо.