Форум: "Потрепаться";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизВ PHP 4.3.4 отключены глобальные переменные Найти похожие ветки
← →
Кефир87 © (2005-08-12 23:59) [0]Я далеко не ас в пхп. Может мне кто объяснить что это значит?! Что под этим подразумевается... Если я вызываю страницу как
index.php?page=main то получается переменной $page у меня не будет? А что-же тогда делать?!
← →
alex-drob © (2005-08-13 00:04) [1]$page=$HTTP_GET_VARS["page"]
← →
Кефир87 © (2005-08-13 00:06) [2]А если нету page? Я то ранше проверял isset"ом или !empty 8(
← →
alex-drob © (2005-08-13 00:08) [3]Также можно проверять.
if (isset($HTTP_GET_VARS["page"]){
$page=$HTTP_GET_VARS["page"]
}
В версии PHP более 4.1 можно короче$page=$_GET["page"]
← →
palva © (2005-08-13 00:28) [4]> Может мне кто объяснить что это значит?!
Это значит, что в php.ini стоитregister_globals = Off
Если вы администратор, то можете поправить это значение на On.
← →
_silver © (2005-08-13 00:34) [5]Кефир87 © (12.08.05 23:59)
$_REQUEST["имяпеременной"]
универсальный вариант.
← →
Кефир87 © (2005-08-13 00:55) [6]Да еслиб я был администратором... Кстати у меня на локалхосте в папке где лежит php.exe нет никакого php.ini... У меня был 4,1 все было прекрасно... А вот теперь с 4,4,0 вылезает такая штука при обращении к скриптам:
Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.
For more information as to why this behaviour exists, see the manual page for CGI security.
For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page.
У меня никакой не апач а Small HTTP server! Что-ж делать?!
← →
IncRed (2005-08-13 02:13) [7]>>index.php?page=main то получается переменной $page у меня не будет? А что-же тогда делать?!
Это переменная окружения, а не глобальная переменная
if (isset($HTTP_GET_VARS["page"]){
$page=$HTTP_GET_VARS["page"]
}
В версии PHP более 4.1 можно короче
$page=$_GET["page"]
Ghxtv здесь короче ? isset проверяет, инициализирована ли переменная
← →
palva © (2005-08-13 10:24) [8]> нет никакого php.ini...
php.ini относится к настройкам Apache и лежит у меня в Apache2.
> This PHP CGI binary was compiled with force-cgi-redirect enabled.
Проще всего перекомпилировать php.exe
← →
Кефир87 © (2005-08-13 21:43) [9]
> Это переменная окружения, а не глобальная переменная
А что тогда глобальные переменные? Может мне и париться не надо...
← →
BorisIvanov (2005-08-13 22:51) [10]Как отключить/включить Register Globals
в файл .htaccess прописываешь
php_flag register_globals 0 (или 1)
Также можешь посмотреть описание функции ini_set() - http://php.net/ini_set
Register_globals Off означает что переменные из запросов get и post, из сессий и из cookie не будут автоматически становиться глобальными. То есть $_GET["page"] не будет переделываться в $page. Аналогично для всех переменных из суперглобальных массивов $_POST $_SESSION $_COOKIE
С точки зрения безопасности сайта этот вариант предпочтительнее, чем register_globals on, т.к. разработчик точно знает, что какая-то переменная пришла именно из сессии или cookie, а не была вписана вручную в запросе get
Подробнее читай faq на сайте phpclub.ru, там все подробно расписано
← →
MeF Dei Corvi © (2005-08-13 23:04) [11]
> нет никакого php.ini
через .htaccess можно поменять.
← →
alex-drob © (2005-08-13 23:29) [12]
> IncRed (13.08.05 02:13) [7]
$page=$_GET["page"] - это короче чем - $page=$HTTP_GET_VARS["page"]
← →
Piter © (2005-08-13 23:47) [13]во развели демагогию, хотя ответ был дан в первом же посте.
← →
Кефир87 © (2005-08-13 23:50) [14]Ладно. Спасибо 8)
.htaccess у меня по умолчанию отключен. Чтоп включили надо сильно просить... Нафик надо. $_GET меня устроит 8) Я уже все скрипты подправил 8)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c