PHP echo в действие формы

#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;?>">