#php
#php
Вопрос:
У меня есть страница, на которой я показываю краткую запись каждого человека, и есть ссылка для получения подробной информации о каждом человеке, которая переходит на другую страницу, если кто-то хочет отредактировать запись, на этой странице есть опция, но создание другой переменной get не работает.
<form action="std_edit.php?edit_id=<?php echo $std_id; ?>">
<input class="std_edit" type="submit" name="edit" value = "Edit">
</form>
я повторил предыдущую переменную get и ее печать в порядке. как я могу заставить ее работать нормально для меня?
Комментарии:
1. Как вы получаете переменную edit_id в std_edit.php ?
2. используя $_GET[‘edit_id’]
3. Итак .. вы говорите нам, что она работает нормально, но у вас не может быть нескольких переменных get? Не могли бы вы объяснить это так, чтобы мы могли понять?
4. Я имею в виду, я надеюсь, вы знаете, что вам просто нужно делать
<form action="std_edit.php">
правильно? Каждый<input/>
элемент с атрибутом name после этого будет автоматически передан..5. Попробуйте использовать скрытый ввод
Ответ №1:
Первое, что вы можете «ПОЛУЧИТЬ» переменную, если вы видите это в URL. например: exmaple.com?std_id=Boo
В коде вы что-то делаете:
$std_id = $_GET['std_id']; //$std_id will be Boo
<form action="std_edit.php?edit_id=<?php echo $std_id; ?>">
<input class="std_edit" type="submit" name="edit" value = "Edit">
</form>
Если вам нужна какая-то переменная, она должна быть там в URL.
Взяв пример выше, вы не можете сделать что-то вроде:
$std_id = $_GET['id'];
Причина, id отсутствует в URL.
Ответ №2:
Проблема в том, что любые переменные GET, заданные в вашем action
атрибуте, будут потеряны при отправке формы. Это потому, что при отправке запрос GET полностью перестраивается. Все, что вам нужно сделать, это:
<form action="std_edit.php">
<input type="hidden" name="edit_id" value="<?php echo $std_id; ?>" />
<input class="std_edit" type="submit" name="edit" value = "Edit" />
</form>
Это заставит его снова работать.
Комментарии:
1. это сработало, но что, если мы захотим обновить записи?
2. @KamranArshad Что вы имеете в виду? Если вы хотите обновить записи,
std_edit.php
страница должна позаботиться об этом. Вы просто создаете новую форму, в которую вставляете все существующие данные. Затем, если данные изменены, просто отправьте эту форму и обновите ее в своей базе данных.