Как отправить запрос с тегом select через URL-адрес

Я хочу отправить данные, полученные из тега 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

Что вас останавливает? У вас есть оба значения, которые вам нужно передать

B001ᛦ 03.04.2019 14:01

эти значения не отображаются в URL-адресе. получаю пустое значение, например: type=&action=, в URL-адресе

chubukas 03.04.2019 14:02
получаю пустое значение... Где твоя форма? Должна быть форма с методом POST
B001ᛦ 03.04.2019 14:05

это моя форма: <form class = "filter-form" method = "post" action = "search.php" enctype = "multipart/form-data">

chubukas 03.04.2019 14:06
это моя форма А где это? Покажите всю соответствующую часть вашего кода! Мы не отправляем формы POST через href. Пожалуйста, ознакомьтесь с основами html.
B001ᛦ 03.04.2019 14:08

<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>

chubukas 03.04.2019 14:11

массив сообщений заполняется после отправки формы: отображается форма> ввод пользователя> отправка пользователем (бутон)> URL-адрес действия формы вызывается браузером> массив _post заполняется> значения находятся в php

R. Martin 03.04.2019 14:12

я использовал метод GET, но он показывает то же самое

chubukas 03.04.2019 14:13

Отредактируйте свой вопрос и введите полный код, который вы используете. В комментарии выше вы не закрываете форму, поэтому она не будет работать. Вы должны поместить кнопку отправки, а затем получить данные в search.php. Не используйте ссылку. Вы не можете отправить форму со ссылкой.

Budimir Skrtic 03.04.2019 14:14

я не отправляю форму, я просто хочу передать запрос и использовать его для запроса базы данных в search.php. формы хорошо закрываются

chubukas 03.04.2019 14:21

Вы не можете сделать это таким образом. Вам нужно будет изменить логику того, что вы пытаетесь сделать.

Budimir Skrtic 03.04.2019 14:27

Пожалуйста, скажите, как я могу добиться этого проще. Спасибо

chubukas 03.04.2019 14:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
12
214
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Замените ссылку на кнопку. Прикрепите параметры запроса в ссылке к действию формы. Ваш код должен выглядеть так, как показано ниже.

<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, прежде чем объявить об этом.

Roy Bogado 03.04.2019 14:49
Ответ принят как подходящий

Попробуйте следующий код. Здесь, когда вы отправляете форму, все данные формы будут переданы в 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;
}
?>

Другие вопросы по теме