Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Считывание переменной из адресной строки

291
21 февраля 2003 года
gufy
703 / / 08.01.2003
Такая проблема.
Пусть есть скрипт scr.php.
Нужно передать ему параметр s например число.
Обращаюсь к нему
.../scr.php?s=12/
Как теперь в скрипте обратиться к этой переменной? Просто $s- не работает.
Вроде надо как-то explode'ить строку адреса или есть специальная функция?
Спасибо заранее.
336
23 февраля 2003 года
willwin
182 / / 20.09.2000
Если переменная в скрипте не доступна, значит, в настройках пхп выключен параметр register_globals. Включать его не то чтобы не рекомендуют, но советуют "сделать всё возможное для того, чтобы" :)

Когда этот параметр выключен, все переменные хранятся в массиве $_REQUEST. Есть ещё массивы $_POST, $_GET, $_COOKIE и $_FILES, думаю, не нужно объяснять, чем они отличаются ;)

Например, если ты передал в скрипт параметр myvar, то его значение можно найти из $_REQUEST["myvar"]. И так дале... :)

Чтобы упростить работу, можно просто в каждом скрипте в самом начале проделывать операцию считывания переменных. Примерно так это будет выглядеть:

while(list($n,$v) = each($_REQUEST))
{
$$n = $v;
}
291
23 февраля 2003 года
gufy
703 / / 08.01.2003
Параметр registеr globals у меня действительно отключен.
Большое спасибо за столь внятное и подробное объяснение.
336
23 февраля 2003 года
willwin
182 / / 20.09.2000
Не такой уж и подробный ответ был :)

Кстати, забыл сказать, что есть ещё массив $_SERVER - в нём серверные переменные.
42K
26 ноября 2008 года
Слава Великолепный
17 / / 26.11.2008
Цитата: willwin

Чтобы упростить работу, можно просто в каждом скрипте в самом начале проделывать операцию считывания переменных. Примерно так это будет выглядеть:

while(list($n,$v) = each($_REQUEST))
{
$$n = $v;
}



Ну и нафиг это?

Цитата: willwin
Не такой уж и подробный ответ был :)
Кстати, забыл сказать, что есть ещё массив $_SERVER - в нём серверные переменные.



А причём тут $_SERVER ?????


register_globals не включай - это потенциальная угроза скрипту и сайту!

А к переменной обращайтесь через массив $_GET.
Не нужно упрощать то что уже просто
Ну и что такого что там будет на 9 символов больше, зато в коде сразу видно где ты работаешь с входными переменными и не выделяется память, по сути не нужная никому.

240
26 ноября 2008 года
aks
2.5K / / 14.07.2006
Интересно, он доберется до самого первого сообщения на форуме? =))
12
26 ноября 2008 года
alekciy
3.0K / / 13.12.2005
Цитата: aks
Интересно, он доберется до самого первого сообщения на форуме? =))


Он видимо по професии археолог. Но учитывая, что его ни кто ни чего не просил тут раскапывать, то видимо все же это черный копатель.

31K
26 ноября 2008 года
WarLooK
29 / / 23.06.2008
Цитата: alekciy
Он видимо по професии археолог. Но учитывая, что его ни кто ни чего не просил тут раскапывать, то видимо все же это черный копатель.



вообще правильный ответ, думаю, такой:
$s = $_GET["s"]; :)

Теме уже 5 лет!!! Афигеть!

244
26 ноября 2008 года
UAS
2.0K / / 19.07.2006
Походу делать нех просто, как отвечать на посты 4-5 летней давности
12
26 ноября 2008 года
alekciy
3.0K / / 13.12.2005
Цитата: WarLooK
вообще правильный ответ, думаю, такой:
$s = $_GET["s"]; :)


Нет. Правильный ответ это использовать $_GET как есть.

31K
26 ноября 2008 года
WarLooK
29 / / 23.06.2008
Цитата: alekciy
Нет. Правильный ответ это использовать $_GET как есть.



как угодно, я всегда указываю имя переменной в $_GET мало ли.

Просто вопрос уже древний как дерьмо мамонта :)

Вот будет прикол, если тот чел, кто задал вопрос придет сейчас и скажет "Вау!!! Спасибо!!! Помогли!!!" Но это оффтоп уже))

5
26 ноября 2008 года
hardcase
4.5K / / 09.08.2005
/* Откровенный и неприкрытый оффтоп */
Цитата: aks
Интересно, он доберется до самого первого сообщения на форуме? =))


Кстати, в тему первого сообщения примечательно, что оно датировано 03.06.2001, 00:36, тогда как у Майка регистрация стоит 01.10.2002.

245
26 ноября 2008 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: hardcase
/* Откровенный и неприкрытый оффтоп */

Кстати, в тему первого сообщения примечательно, что оно датировано 03.06.2001, 00:36, тогда как у Майка регистрация стоит 01.10.2002.



тоже прошу прощения за оффтоп и флуд, но если смотреть даты - гляньте дату последнего посещения http://forum.codenet.ru/member.php?u=20

в первой сотне почти все так (кроме самого майка)))

42K
26 ноября 2008 года
Слава Великолепный
17 / / 26.11.2008
Теме хоть и 5 лет, но толку то... всё равно народе не понимает элементарных вещей)))
42K
26 ноября 2008 года
Слава Великолепный
17 / / 26.11.2008
Ухахаха
12
26 ноября 2008 года
alekciy
3.0K / / 13.12.2005
Цитата: ~ArchimeD~
тоже прошу прощения за оффтоп и флуд, но если смотреть даты - гляньте дату последнего посещения http://forum.codenet.ru/member.php?u=20

в первой сотне почти все так (кроме самого майка)))


Все просто. Форум то, как и сайт переезжал ведь. На сколько я помню, этак в году 2006-ом. Соответвенно где-то таблицы в БД типа DATATIME в unix формате с дефолтным 0, вот и получаем 1970-ый год.

714
27 ноября 2008 года
clgs
226 / / 29.10.2008
Угар) Я не заметил про 5 лет!


Он не замечает... , и не первый раз, так мож что-то и как-то приминить санкции к этому человеку?

Модераторы! Закройте тему и удалите всё лишнее иначе не будет конца этому офтопу!!!


Так может будешь смотреть дату?
[COLOR="Red"]Вопрос модераторам и администратору: неужели на этом движке нет возможности закрыть тему чтоб её не поднимали из аналов истории? =)[/COLOR]

13
27 ноября 2008 года
RussianSpy
3.0K / / 04.07.2006
Цитата: clgs

[COLOR="Red"]неужели на этом движке нет возможности закрыть тему чтоб её не поднимали из аналов истории? =)[/COLOR]


Мда... Русский язык тебе подучить явно не помешает...

714
27 ноября 2008 года
clgs
226 / / 29.10.2008
Цитата: RussianSpy
Мда... Русский язык тебе подучить явно не помешает...

Зато, я смотрю, ты красавчег...

5
27 ноября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: clgs
Зато, я смотрю, ты красавчег...


Слово анналы пишется с двумя 'н'.

714
27 ноября 2008 года
clgs
226 / / 29.10.2008
hardcase, ну да, и что? это форум русского языка?
5
27 ноября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: clgs
hardcase, ну да, и что? это форум русского языка?


Это форум, в первую очередь, на русском языке. Я конечно понимаю, не мне учить вас этому, но иногда бывает так, что одна буква может изменить смысл предложения, иногда это уместно, чаще - нет. Вот когда такая кривоватая фраза написана жирным красным шрифтом, можно судить о человеке с не совсем лестной стороны.

16K
27 ноября 2008 года
k0t
97 / / 23.04.2007
Да и английский можно подправить если уж такая яркая, выделяющаяся подпись написана не нём.
33K
04 декабря 2008 года
AzeriFire
1 / / 23.10.2007
Цитата: alekciy
Нет. Правильный ответ это использовать $_GET как есть.



+1 . Зачем использовать ресурсы что бы создать ($s) уже созданное($_GET['s']) ?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог