|
автор: Didro (12.08.2005 в 22:06) |
|
| У меня проблема - то ли я не настроил сервак, то ли просто ошибка. Я получаю из другого файла который подключаю, post ременную, а мне говорит неизвесная переменная. Я не знаю что делать наверное ее надо как то объявить
мне кажется $xz = $HTTP_POST_VARS[$xz] - не помню как точно что то такое видел. | |
|
|
|
|
|
|
|
для: Didro
(12.08.2005 в 22:06)
| | >> $xz = $HTTP_POST_VARS[$xz]
Наверно все таки так надо:
$xz = $HTTP_POST_VARS['xz'] | |
|
|
|
|
|
|
|
для: Boss
(12.08.2005 в 22:12)
| | Или так:
А если данные передаются методом GET, то:или | |
|
|
|
|
|
|
|
для: Boss
(12.08.2005 в 22:12)
| | или просто
$xz // но ето зависит от настроек register_globals.
P.S. волбще лучше пользоваться средним стилем($_POST['xz']), но он робит только после php 4.1.0 | |
|
|
|
|
|
|
|
для: Boss
(13.08.2005 в 00:48)
| | Следует отметить, что длинная форма записей массивов $HTTP_POST_VARS является устаревшей, в настоящий момент рекомендуется использовать $_POST. Более того, в конфигурационный файл php.ini введена директива register_long_arrays, которая разрешает или запрещает использовать длинную форуму записей для суперглобальных массивов. В последних версиях PHP она по умолчанию отключена
register_long_arrays = Off
|
А в последующих версиях PHP длинные суперглобальные массивы могут вообще запрещены, поэтому лучше использовать сразу короткий вариант $_POST. | |
|
|
|
|
|
|
|
для: cheops
(13.08.2005 в 00:53)
| | Cheops, $_POST это средний стиль :))
$xz // Короткий стиль
$_POST['xz'] //средний стиль
$HTTP_POST_VARS['xz'] // длинный стиль | |
|
|
|
|
|
|
|
для: Boss
(13.08.2005 в 01:01)
| | Я имею ввиду применительно к массивам - короткие (short) и длинные (long) суперглобальные массивы. | |
|
|
|
|
автор: Didro (13.08.2005 в 10:29) |
|
|
для: cheops
(13.08.2005 в 03:10)
| | Тогда у меня к вам другой вопрос - на что влияет register globals on off ??
В чем разница и что следует делать мне ?? | |
|
|
|
|
|
|
|
для: Didro
(13.08.2005 в 10:29)
| | Директива register_globals либо запрещает (off), либо разрешает (on) прямую передачу параметров, переданных методами POST, GET, через сессии или cookie в переменные PHP. Т.е. если из формы приходят параметр var, то обратится к нему при включённой (on) директиве register_globals можно при помощи обращения $var, если директива отключена, придётся воспользоваться $_POST['var'] или $_GET['var'] в зависимости от метода передачи в HTML-форме. Изменять значение директивы можно в конфигурационном файле php.ini (C:/Windows/php.ini)
В настоящий момент рекомендуется эту директиву отключать (по умолчанию в новых дистрибутивах она отключена) в целях безопасности, так как в код может быть внесено значительное количество дыр. Подробнее об этом можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1309. Подробнее о директиве можно почитать в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=13.
Следует отметить, что изменять значение данной директивы можно и при помощи конфигурационного файла .htaccess, подробнее можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6283 | |
|
|
|
|
|
|
|
для: Didro
(13.08.2005 в 10:29)
| | >что следует делать мне ??
А в чём заключается проблема? Вами был приведён код
<?php
$xz = $HTTP_POST_VARS[$xz]
?>
|
многие предположили, что следуе писать
<?php
$xz = $HTTP_POST_VARS['xz'];
?>
|
а лучше
<?php
$xz = $_POST['xz'];
?>
|
Проблема была в этом, или здесь имелось ввиду что-то другое? | |
|
|
|