URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2601
[ Назад ]

Исходное сообщение
"Почему может не работать ПОСТ"

Отправлено AlexeyEburg , 25-Авг-04 10:40 
Я начинающий WEB программист. Помогите разобраться
Имею следующую конфигурацию сервера
Server: Apache/2.0.50 (FreeBSD) PHP/4.3.8 mod_ssl/2.0.50 OpenSSL/0.9.7c-p1

На некоторых компах в офисе не работает ПОСТ. Выглядит это примерно так!
<?php
if (isset($HTTP_POST_VARS['sendm']))
  {
    //Выполнить определенные действия
  }
?>
<FORM method=post name='form1'>
  <INPUT name=field1 type=hidden value="">
  <input name=sendm type=submit value="Отправить">
</form>

Так вот эти определенные действия после нажатия кнопки и перезагрузки страницы не делаются, то есть (isset($HTTP_POST_VARS['sendm']))=false.
Но повторюсь это происходит не на всех компах, а только на некоторых.
Броузеры везде IE6.0 Везде стоят установки по умолчанию! Казалось бы проблемы быть не должно, а она есть. Помогите разобраться! Почему то мне кажется что это проблема Apache!


Содержание

Сообщения в этом обсуждении
"Почему может не работать ПОСТ"
Отправлено dev , 25-Авг-04 12:32 
Ты уверен, что всегда щелкаешь по кнопке? Или иногда просто Enter?

"Почему может не работать ПОСТ"
Отправлено AlexeyEburg , 25-Авг-04 12:36 
Это не я щелкаю я юзеры! Но они вроде всегда на кнопку жмут! На странице только одна форма. А в чем разница?



"Почему может не работать ПОСТ"
Отправлено MeLLowD , 25-Авг-04 13:35 
Во первых, переменная HTTP_POST_VARS устарела, НУЖНО использовать $_POST.
Во вторых, если теряются переменные добавь в код phpinfo(INFO_VARIABLES) и смотри что происходит с переменными там.



"Почему может не работать ПОСТ"
Отправлено AlexeyEburg , 25-Авг-04 14:35 
Сколько работаю с PHP всегда использовал $HTTP_POST_VARS и все работало. Стоило перейти на Unix и Apache2, как стали возникать подобные казусы. Может в работе PHP с Apache2 проблема. Я где то об этом слышал! У кого нибудь есть соображения по этому поводу!


"Почему может не работать ПОСТ"
Отправлено MeLLowD , 25-Авг-04 14:46 
Еще раз тебе говорят, ни Apache ни Unix тут не при чем. Смотри сам в ман
HTTP POST variables: $_POST
Note: Introduced in 4.1.0. In earlier versions, use $HTTP_POST_VARS
перевод нужен?
что тебе phpinfo() говорит??

И кстати, что там за такие таинственные действия после отправки формы делаются?



"Почему может не работать ПОСТ"
Отправлено AlexeyEburg , 25-Авг-04 15:10 
А что он мне может сказать! Выдает список переменных. А действия не странные, просто $HTTP_POST_VARS не видит пост! Попробую понаблюдать за $_POST. Только мне кажется не в этом суть проблемы!



"Почему может не работать ПОСТ"
Отправлено dev , 25-Авг-04 19:15 
>Это не я щелкаю я юзеры! Но они вроде всегда на кнопку
>жмут! На странице только одна форма. А в чем разница?

Разница как-раз в том, что если не кликнуть на кнопке, то ты и не увидишь ее  в переменных. Замени метод на GET и сам увидишь. Если тебе нужно проверить, была ли отправлена именно эта форма, то заводи hidden и его смотри.

P.S.: у тебя на клаве восклицательный знак западает ;)


"Почему может не работать ПОСТ"
Отправлено AlexeyEburg , 26-Авг-04 08:55 
2Dev Ok! Спасибо!



"Почему может не работать ПОСТ"
Отправлено Anton , 26-Авг-04 15:44 
>Я начинающий WEB программист. Помогите разобраться
>Имею следующую конфигурацию сервера
>Server: Apache/2.0.50 (FreeBSD) PHP/4.3.8 mod_ssl/2.0.50 OpenSSL/0.9.7c-p1
>
>На некоторых компах в офисе не работает ПОСТ. Выглядит это примерно так!
>
><?php
>if (isset($HTTP_POST_VARS['sendm']))
>  {
>    //Выполнить определенные действия
>  }
>?>
><FORM method=post name='form1'>
>  <INPUT name=field1 type=hidden value="">
>  <input name=sendm type=submit value="Отправить">
></form>
>
>Так вот эти определенные действия после нажатия кнопки и перезагрузки страницы не
>делаются, то есть (isset($HTTP_POST_VARS['sendm']))=false.
>Но повторюсь это происходит не на всех компах, а только на некоторых.
>
>Броузеры везде IE6.0 Везде стоят установки по умолчанию! Казалось бы проблемы быть
>не должно, а она есть. Помогите разобраться! Почему то мне кажется
>что это проблема Apache!

Попробуй не $HTTP_POST_VARS а $_POST