Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: POST var
 
 автор: Didro   (12.08.2005 в 22:06)
 
 

У меня проблема - то ли я не настроил сервак, то ли просто ошибка. Я получаю из другого файла который подключаю, post ременную, а мне говорит неизвесная переменная. Я не знаю что делать наверное ее надо как то объявить
мне кажется $xz = $HTTP_POST_VARS[$xz] - не помню как точно что то такое видел.

   
 
 автор: Boss   (12.08.2005 в 22:12)   письмо автору
 
   для: Didro   (12.08.2005 в 22:06)
 

>> $xz = $HTTP_POST_VARS[$xz]

Наверно все таки так надо:

$xz = $HTTP_POST_VARS['xz']

   
 
 автор: Евгений Петров   (13.08.2005 в 00:26)   письмо автору
 
   для: Boss   (12.08.2005 в 22:12)
 

Или так:
$xz = $_POST['xz']

А если данные передаются методом GET, то:
$xz = $HTTP_GET_VARS
или
$xz = $_GET

   
 
 автор: Boss   (13.08.2005 в 00:48)   письмо автору
 
   для: Boss   (12.08.2005 в 22:12)
 

или просто
$xz // но ето зависит от настроек register_globals.

P.S. волбще лучше пользоваться средним стилем($_POST['xz']), но он робит только после php 4.1.0

   
 
 автор: cheops   (13.08.2005 в 00:53)   письмо автору
 
   для: Boss   (13.08.2005 в 00:48)
 

Следует отметить, что длинная форма записей массивов $HTTP_POST_VARS является устаревшей, в настоящий момент рекомендуется использовать $_POST. Более того, в конфигурационный файл php.ini введена директива register_long_arrays, которая разрешает или запрещает использовать длинную форуму записей для суперглобальных массивов. В последних версиях PHP она по умолчанию отключена
register_long_arrays = Off

А в последующих версиях PHP длинные суперглобальные массивы могут вообще запрещены, поэтому лучше использовать сразу короткий вариант $_POST.

   
 
 автор: Boss   (13.08.2005 в 01:01)   письмо автору
 
   для: cheops   (13.08.2005 в 00:53)
 

Cheops, $_POST это средний стиль :))

$xz // Короткий стиль
$_POST['xz'] //средний стиль
$HTTP_POST_VARS['xz'] // длинный стиль

   
 
 автор: cheops   (13.08.2005 в 03:10)   письмо автору
 
   для: Boss   (13.08.2005 в 01:01)
 

Я имею ввиду применительно к массивам - короткие (short) и длинные (long) суперглобальные массивы.

   
 
 автор: Didro   (13.08.2005 в 10:29)
 
   для: cheops   (13.08.2005 в 03:10)
 

Тогда у меня к вам другой вопрос - на что влияет register globals on off ??
В чем разница и что следует делать мне ??

   
 
 автор: cheops   (13.08.2005 в 11:51)   письмо автору
 
   для: 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)
register_globals = Off

В настоящий момент рекомендуется эту директиву отключать (по умолчанию в новых дистрибутивах она отключена) в целях безопасности, так как в код может быть внесено значительное количество дыр. Подробнее об этом можно почитать в теме по ссылке 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

   
 
 автор: cheops   (13.08.2005 в 11:55)   письмо автору
 
   для: Didro   (13.08.2005 в 10:29)
 

>что следует делать мне ??
А в чём заключается проблема? Вами был приведён код
<?php
 $xz 
$HTTP_POST_VARS[$xz]
?>

многие предположили, что следуе писать
<?php
 $xz 
$HTTP_POST_VARS['xz'];
?>

а лучше
<?php
 $xz 
$_POST['xz'];
?>

Проблема была в этом, или здесь имелось ввиду что-то другое?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования