forum.rastrnet.ru  

Вернуться   forum.rastrnet.ru > Компьютеры и всё, что с ними связано > Программируем

 Сообщения за день       Добавить альбом       Поиск      Правила форума  


Ответ
 
Опции темы Опции просмотра
Старый 21.03.2006, 20:23   #1
Slava
Новичок
 
Регистрация: 11.03.2005
Сообщений: 115
Отправить сообщение для Slava с помощью ICQ
По умолчанию PHP5

У меня тут проблемка возникла. Сделал сайт, тестил у себя на компе на PHP4, всё нормально. Залил на сервак, там PHP5 стоит, не видит переменные которые через адрес передаю. Например - www.fsdfdfs.ru/gal.php?n=4, так вот переменную n не видит. Поставил у себя PHP5, тоже самое. Может кто подскажет, как там это можно в PHP5 реализовать, а то у меня никакой литературы по этой версии нет.
Slava вне форума   Ответить с цитированием
Старый 21.03.2006, 20:44   #2
Paul
Гость
 
Сообщений: n/a
По умолчанию

Это дело в массиве $_GET (или же $_REQUEST, например). Так даже идеологически правильно. Если хочешь, чтобы все переменые этого массива глобилизовались (были доступны) - крути конфиг php.ini. Или вручника глоболизируй.
  Ответить с цитированием
Старый 21.03.2006, 21:14   #3
Slava
Новичок
 
Регистрация: 11.03.2005
Сообщений: 115
Отправить сообщение для Slava с помощью ICQ
По умолчанию

На серваке php.ini мне наврядли дадут редактировать, тем более хостинг халявный. А вот на счёт вручную, можно поподробнее? Если ты имел ввиду <? global $n; ?>, то не помогает. Видить то он начинает, только вот значения у них нет никаких. Вообщем если не трудно напиши поподробнее, а то я в этом не силён.
Slava вне форума   Ответить с цитированием
Старый 22.03.2006, 20:06   #4
Paul
Гость
 
Сообщений: n/a
Thumbs up

Цитата:
Сообщение от Slava
Если ты имел ввиду <? global $n; ?>, то не помогает. Видить то он начинает, только вот значения у них нет никаких. Вообщем если не трудно напиши поподробнее, а то я в этом не силён.
Можно примерно так (неотлажино, но видно, что Вы не дятел опилочный):

foreach($_GET as $k=>$v){
$v = &$_GET[$k];
global $v;
}

Но ещё раз повторюсь, этого не нужно. Зачем? Бери сразу из $_GET, хотя всякое бывает, например, много чего наскриптено (неправильно, к сожалению).
  Ответить с цитированием
Старый 24.03.2006, 15:06   #5
Paul
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Pavel L
Можно примерно так:

foreach($_GET as $k=>$v){
$v = &$_GET[$k];
global $v;
}
Врешь, это ж бред. Нужно так:

foreach($_GET as $k=>$v){
$k = &$_GET[$k];
global $k;
}
  Ответить с цитированием
Старый 26.03.2006, 08:16   #6
Slava
Новичок
 
Регистрация: 11.03.2005
Сообщений: 115
Отправить сообщение для Slava с помощью ICQ
По умолчанию

У меня вот так всё заработало:

$n=@$_GET[n]; , и всё в $n теперь находится передоваемое значение.
Slava вне форума   Ответить с цитированием
Старый 26.03.2006, 11:53   #7
Paul
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Slava
У меня вот так всё заработало:

$n=@$_GET[n]; , и всё в $n теперь находится передоваемое значение.
Чё за? Вы хоть понимаете что это значит?
$_GET[n] - вызывет ошибку, кроме случая, когда n - константа. Ибо писать нужно $_GET['n'].
@$_GET[n] - вот эта собака и закрывает вышеописаную ошибку. У собаки такая обязаность.

Это в принципе полный бред. Если это заработало - это баг. Скрипт в студию.

Лучше берите дело из 4 поста, вставляйте в начало скрипта - проблем не будет.

P.S. А ещё лучше почитать книжки.

Последний раз редактировалось Paul; 26.03.2006 в 11:55.
  Ответить с цитированием
Старый 26.03.2006, 18:03   #8
Slava
Новичок
 
Регистрация: 11.03.2005
Сообщений: 115
Отправить сообщение для Slava с помощью ICQ
По умолчанию

Ну так я вкурсе, что именно @ и закрывает ошибку, но ведь результат достигнут, скрипт в том виде в котором мне хотелось бы работает, и всё чётко. Да и выдаёт он не ошибку, а предупреждение, перевёл в Promte, ничего не понял, на что ругается, ну да и ладно.
Slava вне форума   Ответить с цитированием
Старый 26.03.2006, 18:07   #9
Slava
Новичок
 
Регистрация: 11.03.2005
Сообщений: 115
Отправить сообщение для Slava с помощью ICQ
По умолчанию

А вот если $_GET['n'], то вообще не ругается. Спасибо за подсказку и поправку, на будущее буду знать.
Slava вне форума   Ответить с цитированием
Старый 27.03.2006, 00:52   #10
DAKnn
nanotechnology
 
Аватар для DAKnn
 
Регистрация: 22.05.2005
Сообщений: 392
Отправить сообщение для DAKnn с помощью ICQ
Smile

если это дело под виндой..
то для каждого сайта можно завести свой php.ini - и положить в корень этого сайта.. тогда php.exe при запуске будет обрабатывать именно нужный php.ini а не глобальный - в windows/php.ini
--
проверено.. у меня так несколько сайтов крутилось..
и ваще это все это бред.. ASP.NET рулит..
__________________
Истинная ценность человека определяется тем, насколько он освободился от эгоизма и какими средствами он этого добился (с)Альберт Эйнштейн
DAKnn вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
apache2.054+php5.0.5 Format c:/ Программируем 17 24.09.2006 19:53


Текущее время: 19:11. Часовой пояс GMT +7.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Форум открыт в июле 2004 г.
Кошки и котята Красноярска и Сибири Живой Мир Сибири