Как перенаправить после самостоятельной публикации форму с атрибутами фильтра?

0

Мне интересно, как перенаправить мой один и тот же URL-адрес "X" после отправки моей формы с помощью

X?name=$name&y=$y&z=$z

<form id="myform" name="myform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div>
    <label for="searchterm">Name:</label>
    <input type="text" name="searchterm">
</div>
<div>
    <label for="submit"></label>
    <input type="submit" name="submit" value="Filter">
</div>
</form>
  • 0
    По сути, вы этого не делаете. Вы выполняете всю обработку формы перед отображением HTML, а затем отправляете обновленную форму HTML. Кроме того, вы можете ничего не указывать (или «?») В action чтобы форма работала с тем же сценарием, который ее сгенерировал.
  • 0
    Вопрос открыт для совершенно разных толкований, но, как я понял, он хочет отправить URL-адрес X, а затем после обработки данных публикации он хочет перенаправить его с помощью GET на тот же URL-адрес X. 303 См. Другие перенаправления в книге, чтобы предотвратить повторяющиеся запросы и имеет смысл.
Теги:

2 ответа

0
Лучший ответ

Я предполагаю, что вы ищете запрос GET.

В этом случае просто удалите свой метод из формы, так как GET по умолчанию для html-форм:

<form id="myform" name="myform" <!-- >> HERE: method="post" << --> action="">
<div>
    <label for="searchterm">Name:</label>
    <input type="text" name="searchterm">
</div>
<div>
    <label for="submit"></label>
    <input type="submit" name="submit" value="Filter">
</div>
</form>

Затем вы увидите, что ваш url имеет окончание, которое вы описали.

Вы можете получить данные через

$_GET['searchterm'];

а также

$_GET['submit'];

в вашем файле после этого.

Вы можете проверить $ _GET в начале вашего файла на

if (isset($_GET['submit'])) {
// do something awesome 
}
  • 0
    Большое спасибо. Теперь я получил все в своем URL, чтобы получить и отобразить из моей БД.
  • 0
    Добро пожаловать! Пожалуйста, не забудьте защитить ваши запросы к БД. Не безопасно запрашивать вашу базу данных с нефильтрованным пользовательским вводом. Вы можете прочитать больше об этом здесь
Показать ещё 1 комментарий
0
header('HTTP/1.1 303 See other');
header('Location: '.$_SERVER['REQUEST_URI']);
die;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню