Самым простым способом передачи данных на сервер приложению PHP извне представляет передача данных через строку запроса.
Строка запроса представляет набор параметров, которые помещаются в адресе после вопросительного знака. При этом каждый параметр определяет название и значение. Например, в адресе:
http://localhost/user.php?name=Tom&age=36
Часть ?name=Tom&age=36 представляет строку запроса, в которой есть два параметра name и age . Для каждого параметра определено имя и значение, которые отделяются знаком равно. Параметр name имеет значение «Tom», а параметр age — значение 36. Друг от друга параметры отделяются знаком амперсанда.
Например, определим следующий скрипт user.php со следующим содержимым:
Когда мы вводим в адресную строку браузера некий адрес и нажимаем на оправку, то серверу отправляется запрос типа GET . В PHP по умолчанию определен глобальный ассоциативный массив $_GET , который хранит все значения, передаваемые в запроса GET. Используя ключи передаваемых данных, мы можем из массива $_GET получить передаваемые значения.
При отправки строки запроса ключами в этом массиве будут названия параметров, а значениями — значения параметров.
Например, в строке запроса передается параметр name=Tom . Соответственно, чтобы получить значение параметра name из запроса, обращаемся по соответствующему ключу:
$name = $_GET["name"]; // Tom
Однако стоит учитывать, что в адресной строке необязательно будет использоваться строка запроса или конкретно данный параметр. Поэтому перед получением значения параметра сначала смотрим, а передан ли вообще такой параметр:
if(isset($_GET["name"]))
Теперь обратимся к этому скрипту, например, так http://localhost/user.php?name=Tom&age=36 :
GET в PHP и строка запроса" />GET в PHP и строка запроса" />
Если мы не передадим значения какого-либо параметра, то соответствующая переменная будет использовать значение по умолчанию:
Как получить get параметр js
Для получения параметра лучше всего использовать объект URL - в нём есть свойство searchParams с методами взаимодействия с параметрами:
const url=newURL('http://mysite/?param=value');console.log(url.searchParams.get('param'));// => value
Метод searchParams.get() принимает имя параметра, который нужно получить.
Знакомимся с командой $_GET
Мы научились задавать идентификатор в одном месте, но мы не можем каждый раз менять значение для каждого пользователя вручную. Оно должно приходить откуда-то извне. И лучший вариант — адрес, который виден в адресной строке браузера.
В адресе есть специальная часть, которая называется «параметры запроса». Параметры запроса располагаются после знака вопроса.
https://www.gloevk.ru/product.php?product_id=1
В данном примере у нас есть один параметр product_id , а цифра в конце этого адреса — его значение.
Получить параметр запроса можно с помощью команды $_GET , указав в квадратных скобках его название.
keks_log($_GET['product_id']); // Получаем значение параметра запроса
Подробную информацию о параметрах запроса и использовании $_GET вы можете получить в учебнике.
Выведем $_GET['product_id'] в консоль. В адресной строке нашего мини-браузера поменяем значение параметра запроса и проверим, изменится ли число в консоли. В следующем шаге используем $_GET['product_id'] для получения артикула товара.
Перейти к заданию
вашей квартире
Разнообразные товары для дома с доставкой по всей планете
По ходу я отстал от жизни! Не могу найти связь, вроде и так просто, но не могу сделать - чувствую себя лузером: не могу проверить, есть ли какая переменная get в url и получить значение этого get . знаю, что проверяется isset() , но isset ($_GET['']) - ничего не дает.
Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
задан 10 сен 2013 в 10:35
103 2 2 золотых знака 4 4 серебряных знака 14 14 бронзовых знаков
foreach в ($_GET) а вся строка, если хочется парсить самому: $_SERVER['QUERY_STRING']
10 сен 2013 в 11:16
а поточнее на счет foreach?
10 сен 2013 в 11:58
10 сен 2013 в 12:00
неправильно задал вопрос по ходу! а как превратить $_GET в массив или как записать средствами php $_GET в массив?
10 сен 2013 в 12:05
print_r($_GET);
10 сен 2013 в 12:46
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
if (isset($_GET['key1'])) < var_dump($_GET['key1']); // val1 >
Отслеживать
ответ дан 10 сен 2013 в 10:53
Alex Kapustin Alex Kapustin
11.7k 1 1 золотой знак 19 19 серебряных знаков 22 22 бронзовых знака
так я знаю, как получать! это если мы будем знать значение get, в данном случае, когда $_get['key1'] придаем значение какое-либо! а если мы такое значение url (foto.ru/gallery.php?boys)? как получить $_get['boys'] и значение "boys", если мы знаем только, что это значение $_get?
10 сен 2013 в 11:08
@tagir, в вашем случае "boys" - это не значение, а параметр, у которого значения нет.
10 сен 2013 в 11:14
Deonis, как получить этот параметр?
10 сен 2013 в 12:00
@tagir тогда вам больше подойдет foreach, в коментах советовали
10 сен 2013 в 12:19
Что тут непонятно, и как помочь больше - без понятия
Отслеживать
ответ дан 10 сен 2013 в 16:18
2,818 11 11 серебряных знаков 16 16 бронзовых знаков
уже получил ответ на свой вопрос! Спасибо за внимание
10 сен 2013 в 18:08
Попробуйте сделать просто
var_dump($_GET['']);
Отслеживать
ответ дан 10 сен 2013 в 16:27
Blackintenum Blackintenum
87 2 2 серебряных знака 13 13 бронзовых знаков
@Blackintenum жесть
10 сен 2013 в 17:23
уже получил ответ на свой вопрос! Спасибо за внимание
10 сен 2013 в 18:08
url
php
get
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.