#php #forms #echo
#php #формы #эхо
Вопрос:
Я искал вокруг, но не нашел ответа на этот вопрос. Может быть признаком того, что это глупый вопрос, но:
Я пытаюсь передать некоторую информацию из URL страницы в действие формы, чтобы информация была перенесена на следующую страницу. Форма и PHP выглядят следующим образом:
<form method="link" action="surveymaker.php?title=<?php echo $_GET['title'];?>">
Информация, которую пользователь вводит в форму, добавляется к URL-адресу на следующей странице, но не к «заголовку», который я пытаюсь добавить с помощью echo. Я полностью готов признать, что я иду по этому совершенно неправильному пути, если это так. Кто-нибудь может указать мне правильное направление?
Спасибо
Комментарии:
1. Вам нужно очистить это значение. Вы оставили свою страницу широко открытой для атак XSS.
Ответ №1:
Для этого вы можете использовать скрытое поле ввода. Просто добавьте это в свою форму:
<input type="hidden" name="title" value="<?php echo htmlspecialchars($_GET['title']);?>">
Обратите внимание на использование htmlspecialchars для очистки значения из URL.
Ответ №2:
Это не очень хорошая идея архивирования того, что вы хотите, вместо этого вы должны использовать скрытые входные данные. пример поместите это в любом месте вашего <form>
:
<input type="hidden" value="<?= $_GET['title']; ?>" name="title"/>
Ответ №3:
попробуйте это. сработало для меня..
<?php $title = $_GET['title'];?>
<form method="link" action="surveymaker.php?title=<?php echo $title;?>">