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

Форум PHP

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

 

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

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

тема: Зачем такие действия с переменными $_POST,$_GET и т.п ?
 
 автор: Prihod   (07.06.2007 в 01:45)   письмо автору
 
 

Встретил тут в одном скрипте такой код:

if (isset($HTTP_POST_VARS)) {
$_POST = $HTTP_POST_VARS;
$_GET = $HTTP_GET_VARS;
$_REQUEST = array_merge($_POST, $_GET);
$_COOKIE = $HTTP_COOKIE_VARS;
$_SESSION = $HTTP_SESSION_VARS;
}

так вот не совсем понятно зачем это делается , есть подозрения что это связано как-то с версией php и глобальными переменными

   
 
 автор: Disable   (07.06.2007 в 02:08)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

а я вот тоже недавно видел в одном скрипте

<?php
//.........
$a=stripslashes(addslashes($a));
?>

   
 
 автор: Yuriev   (07.06.2007 в 02:36)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

Чтоб писать короче было

   
 
 автор: kasmanaft   (07.06.2007 в 06:54)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

Отказываются вроде бы как раз от длинных названий... Так что в следующих версиях PHP данный код скорее всего работать не будет.
- - - - - - - - - -
Не обратил внимание на isset( ) .

Объявление массивов $HTTP_*_VARS устаревшими. Эти массивы требовали глобализации в функциях и процедурах. Новые суперглобальные массивы были введены, начиная с PHP 4.1.0. Это: $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_REQUEST, и $_SESSION. Более старые массивы $HTTP_*_VARS, такие, как $HTTP_POST_VARS, существуют со времен PHP 3 и, вероятно, будут еще долго существовать для сохранения совместимости.

   
 
 автор: Trianon   (07.06.2007 в 10:30)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

Правильнее будет
if (!isset($_POST) && isset($HTTP_POST_VARS)) {....
Для обеспечения работоспостобности той немногочисленной линейки версий, где суперглобальные массивы еще только появились, но лишь под пользовательскими именами.

   
 
 автор: Poison   (07.06.2007 в 10:35)   письмо автору
 
   для: Trianon   (07.06.2007 в 10:30)
 


<?php 
//......... 
$a=stripslashes(addslashes($a)); 
?>


Такое мог писать программист после бесперебойного 24-часового программирования:))

   
 
 автор: Trianon   (07.06.2007 в 10:51)   письмо автору
 
   для: Poison   (07.06.2007 в 10:35)
 

Так не пишут.

[поправлено модератором]

   
 
 автор: Unkind   (07.06.2007 в 10:51)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

По мимо прочего $_REQUEST не только POST, GET. Правильней будет $_REQUEST = array_merge($HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS);

   
 
 автор: mihdan   (07.06.2007 в 11:27)   письмо автору
 
   для: Prihod   (07.06.2007 в 01:45)
 

Чтобы скрипты от РНР4 корректно работали в РНР5, так как в 4й версии было $HTTP_POST_VARS, а в 5й $_POST.

   
 
 автор: Unkind   (07.06.2007 в 11:28)   письмо автору
 
   для: mihdan   (07.06.2007 в 11:27)
 

Чтобы скрипты от РНР4 корректно работали в РНР5, так как в 4й версии было $HTTP_POST_VARS, а в 5й $_POST.
Неверные данные.

   
 
 автор: mihdan   (07.06.2007 в 11:31)   письмо автору
 
   для: Unkind   (07.06.2007 в 11:28)
 

Это почему же???

   
 
 автор: Unkind   (07.06.2007 в 11:36)   письмо автору
 
   для: mihdan   (07.06.2007 в 11:31)
 

Ну Вы хотя бы почитайте эту тему. В особенности пост kasmanaft'а.

   
 
 автор: cheops   (08.06.2007 в 00:06)   письмо автору
 
   для: mihdan   (07.06.2007 в 11:31)
 

Длинные массивы отключены по умолчанию, но их всё ещё можно включить (а на хостингах включают обязательно) - только в шестой версии их грозят исключить окончательно.

   
 
 автор: hammet   (08.06.2007 в 00:10)   письмо автору
 
   для: cheops   (08.06.2007 в 00:06)
 

>а я вот тоже недавно видел в одном скрипте

<?php
//.........
$a=stripslashes(addslashes($a));
?>

я тоже видел в какомто блоге.
Автор скрипта объяснил это так: "это решало проблему корявости magic quotes"....

   
Rambler's Top100
вверх

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