Объясните как первокласснику, как, когда и для чего использует массив $_GET в PHP?

программирование php веб веб-программирование

Я с недавних пор стал изучать языки веб-программирования: вроде есть небольшие сдвиги. Много чего еще не понимаю, но $_GET меня мучит больше всего: я пока понял, что используется массив для получения малого объёма данных, что используется для задания переменных в URL (или получения), но откуда берутся эти данные. В примерах многочисленных есть строки типа "$_GET['var']" и все, а откуда это берется, никак не могу понять. Матёрые программисты, да и средние тоже, меня засмеют, но попробуйте мне объяснить чистую теорию с небольшими примерами. Даже с php.net не особо понимаю в чем тут дело.
Ответы:
Эти данные берутся из URL либо из < FORM name="forma" method="get"> бла-бла-бла </ FORM >
Если первоклассник поймёт, что такое локальные переменные окружения, то я объяснил ;)
Во время сессии PHP АВТОМАТИЧЕСКИ создаётся ассоциативный массивчик, а имя ему $_GET. Обращаясь к его элементам по именам, Вы можете получить различные параметры сессии, переменные в ней объявленные и так далее.... Я внятен? ;)
очень просто например у вас есть файл test.php - и есть ссылка типа http://localhost/test.php?a=1&b=5, пользователь по ней щёлкает и браузер запрашивает этот URL. Когда серверу приходит запрос такой странички он отделяет то что до "?" и ищет этот файл, находит в данном случае test.php потом разделяет остальное на кусочки по "&" и заполняет массив $_GET. каждый кусочек это имя элемента массива и через "=" значение этого элемента, тоесть в данном случае будут
$_GET['a']=1;
$_GET['b']=5;
поскольку нельзя помещать любые символы в URL для кодирования/декодирования используются функции urlencode/urldecode. Массив $_GET и прочие декодируются автоматически.
to СКОМОРОХ:
вполне, но слова "и так далее" могут подразумевать очень длинный список, который мне и хотелось узнать, а в общем понятно, спасибо!
В GET хранятся параметры, передаваемые в адресной строке, в URL
Например, http://otvety.google.ru/otvety/thread?tid=618644f2c444aa11
в скрипт thread, который находится в директории: http://otvety.google.ru/otvety
будет передана переменная tid, которая содержит значение 618644f2c444aa11
то есть
$_GET["tid"] = 618644f2c444aa11
2  CKOMOPOX  вы абсолютно не правы $_GET к сессиям никакого отношения не имеет и к переменным окружения тоже. для сессий есть $_SESSION для переменных окружения $_ENV
2 dimarik узнайте про механизм сессий в php. писать много, а в инете инфы полно. Скорее всего в данном случае вам они пригодятся.
to biaka.max
to bjaka.max
Вы же сами чуть выше говорили, что GET е сессиям не относится... да и потом, сессии это отдельная тема, я до этого раздела еще не дорос :) когда буду строчить сайты, буду использовать сессии, а пока мне б форму со страницей предпросмотра осилить :)
почти правильно. $_GET никогда не надо раскодировать. Может потребоваться кодировать URL например так:
echo "<a href='test.php?text=".urlencode("привет")."'>привет</a>";
а декодировать надо будет если вы URL например непосредственно от сервера получите
echo urldecode($_SERVER['REQUEST_URI']);
Сессии это инфа которая хранится на сервере, клиенту просто отдаётся ID по которой можно её найти. ID отдаётся через куки,GET или POST . И всё это делается автоматически. Просто без сессий вы инфу дважды загружать будете.
вам нужно просто что бы у вас первой строчкой (до любого вывода) была строка
session_start();
и можете обращатся к хешу $_SESSION когда пользователь опять откроет какуюто страницу то $_SESSION останется прежним.


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.