Я хочу отправить данные, полученные из тега select, через URL-адрес в виде запросов, чтобы я мог использовать их и запрашивать базу данных.
Я пробовал, но значения не отображаются. Я получаю что-то вроде: type=&action=
это мой код
<select name = "types">
<option value = "2 bed room">2 bed room</option>
</select>
<select name = "action">
<option value = "rent">rent</option>
</select>
$type = $_POST['types'];
$action = $_POST['action'];
$query = "type = {$type}&action = {$action}";
<a class = "site-btn fs-submit" href = "search.php?<?php echo $query; ?>"> Advanced search</a>
Я ожидал :
type=2 bed room&action=rent
эти значения не отображаются в URL-адресе. получаю пустое значение, например: type=&action=, в URL-адресе
это моя форма: <form class = "filter-form" method = "post" action = "search.php" enctype = "multipart/form-data">
<form class = "filter-form" method = "post" action = "search.php" enctype = "multipart/form-data"> <input type = "text" class = "d-block d-md-inline" placeholder = "Введите штат, город или район"> <select name = "types"> <option value = "2 bed room">2-местная комната</op </select> <select name = "action"> <option value = "аренда">аренда</option> </select>
массив сообщений заполняется после отправки формы: отображается форма> ввод пользователя> отправка пользователем (бутон)> URL-адрес действия формы вызывается браузером> массив _post заполняется> значения находятся в php
я использовал метод GET, но он показывает то же самое
Отредактируйте свой вопрос и введите полный код, который вы используете. В комментарии выше вы не закрываете форму, поэтому она не будет работать. Вы должны поместить кнопку отправки, а затем получить данные в search.php. Не используйте ссылку. Вы не можете отправить форму со ссылкой.
я не отправляю форму, я просто хочу передать запрос и использовать его для запроса базы данных в search.php. формы хорошо закрываются
Вы не можете сделать это таким образом. Вам нужно будет изменить логику того, что вы пытаетесь сделать.
Пожалуйста, скажите, как я могу добиться этого проще. Спасибо






Замените ссылку на кнопку. Прикрепите параметры запроса в ссылке к действию формы. Ваш код должен выглядеть так, как показано ниже.
<form action = "search.php?<?php echo $query; ?>">
<select name = "types">
<option value = "2 bed room">2 bed room</option>
</select>
<select name = "action">
<option value = "rent">rent</option>
</select>
<?php
$type = $_POST['types'];
$action = $_POST['action'];
$query = "type = {$type}&action = {$action}";
?>
<button class = "site-btn fs-submit" type = "submit">Submit</button>
</form>
вы используете $query, прежде чем объявить об этом.
Попробуйте следующий код. Здесь, когда вы отправляете форму, все данные формы будут переданы в search.php, а метод формы — POST, поэтому вы можете получить доступ к этим данным, просто вызвав $_POST['attribute value of name'].
HTML-форма:
<form class = "filter-form" method = "post" action = "search.php" enctype = "multipart/form-data">
<input type = "text "class = "d-block d-md-inline" placeholder = "Enter State, City or Area" name = "city">
<select name = "types">
<option value = "2 bed room">2 bed room</option>
</select>
<select name = "action">
<option value = "rent">rent</option>
</select>
<input type = "submit" value = "Advanced search">
</form>
создайте файл PHP (search.php):
<?php
//Do what you want here
if (isset($_POST['city'])) {
$city = $_POST['city'];
echo $city;
}
if (isset($_POST['types'])) {
$type = $_POST['types'];
echo $type;
}
if (isset($_POST['action'])) {
$action = $_POST['action'];
echo $action;
}
?>
Что вас останавливает? У вас есть оба значения, которые вам нужно передать