Как получить get параметры из url в PHP?

Пользователь

от jerrold_langworth , в категории: PHP , 3 года назад

Как получить get параметры из url в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@jerrold_langworth Вы можете получить get параметры из глобального массива $_GET в PHP или использовать функцию parse_url() и вытащить get параметры из URL, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php

$url = "https://dropcode.ru?username=test&company=yandex";
// Вывод: test
echo $_GET['username'];
// Вывод: yandex
echo $_GET['company'];

// Или через parse_url()
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
// Вывод: test
echo $params['username'];
// Вывод: yandex
echo $params['company'];


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от magali , 2 года назад

@jerrold_langworth 

Для получения GET параметров из URL в PHP можно использовать суперглобальный массив $_GET.


Например, если URL выглядит следующим образом:

1
https://example.com/index.php?page=home&section=about


То можно получить значение параметров page и section следующим образом:

1
2
$page = $_GET['page']; // Значение будет 'home'
$section = $_GET['section']; // Значение будет 'about'


Если параметр в URL отсутствует, то попытка получить его значение через $_GET вернет NULL. Поэтому для безопасности лучше всегда проверять, что параметр существует:

1
2
3
4
5
6
if(isset($_GET['page'])){
    $page = $_GET['page'];
    // действия, если параметр существует
} else {
    // действия, если параметр не существует
}


Также можно получить все параметры в виде ассоциативного массива при помощи функции parse_str(), передав ей строку с GET параметрами из URL:

1
2
parse_str($_SERVER['QUERY_STRING'], $params);
// теперь $params содержит ассоциативный массив со всеми GET параметрами


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