У меня есть приложение CRUD для онлайн-курсов. Он содержит, среди прочих страниц, инструктор BIO.
Во-первых, инструкторы добавляются в таблицу с основными данными: first_name, last_name и email; то BIO может быть добавлен, возможно, для любого инструктора. Для этой цели существует вторая таблица базы данных, называемая «bios».
мне нужно пройти $user_id
в курсы стола, (как инородное KEY) ап для этой цели я использую $ _GET:
<?php
$user_id = $_GET['id'];
if(isset($_POST['submit-btn'])) {
$no_courses = $_POST['no_courses'];
$years_exp = $_POST['years_exp'];
$fav_lang = $_POST['fav_lang'];
$courses = $_POST['courses'];
$sql = "INSERT INTO courses (user_id, no_courses, years_exp, fav_lang, courses) VALUES ('$user_id', '$no_courses', '$years_exp', '$fav_lang', '$courses')";
if (mysqli_query($con, $sql)) {
echo("<p>Instructor bio was added.</p>");
} else {
echo "Error: " . mysqli_error($con);
}
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="add_bio">
...
</form>
Использование $_GET
кажется удобным, потому что в таблице с большим из строк, содержащих инструкторов, справа от самой ячейки/столбца, у меня есть набор кнопок ссылок для операций CRUD, «Добавить био» - одна из этих кнопок.
<a title="Add bio" href="add_bio.php?id=<?php echo $arr['id']?>"><span class="glyphicon glyphicon-plus-sign"></span></a>`
Но вместо передачи $user_id
переменную так, что может быть добавлен био, сервер бросает эти ошибки:
Примечание: Undefined индекс: идентификатор в E: \ XAMPP \ HTDOCS \ курсы \ add_bio. php в строке 7 Ошибка: не удается добавить или обновить дочернюю строку: ограничение внешнего ключа завершено
Как передать идентификатор пользователя, если я хочу сохранить ссылки CRUD, упомянутые выше?
Спасибо!
также является идентификатор в URL или нет? это код 'add_bio.php', потому что строка 7 не имеет ничего общего с идентификатором пользователя – nogad
Да, это: add_bio.php? id = 5. Это перед отправкой формы. –
Кажется, вы пытаетесь «INSERT» вместо «UPDATE» ... Также обратите внимание, что ваше приложение чрезвычайно открыто для [SQL-инъекции] (http://stackoverflow.com/questions/332365/how-does-the -sql-injection-from-the-bobby-tables-xkcd-comic-work) – Scopey