Есть проблема с получением данных методом POST. Конструкция следующая: Debian Linux, apache2.2.9+php5.2.6+mysql. Проблема в том что при извлечении переменной из $_POST['var_name'] получаю пустую строку. Апач настроен следующим образом:--------------------------
ServerAdmin lalala@lala.net
ServerName piroman.dubna.ru
ServerAlias www.piroman.dubna.ruDocumentRoot /usr/local/apache2/htdocs
<Directory />
<Limit GET POST>
Order allow,deny
Allow from all
</Limit>Options FollowSymLinks
AllowOverride None
</Directory><Directory /usr/local/apache2/htdocs/>
<Limit GET POST>
Order allow,deny
Allow from all
</Limit>Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>ErrorLog /var/log/apache2/ex.error.log
LogLevel debug
CustomLog /var/log/apache2/ex.access.log combined
</VirtualHost>
------------------------------Основное в php.ini:
------------------------------
variables_order = "EGPCS"
post_max_size = 2048M
magic_quotes_gpc = On
------------------------------код php (index.php):
echo($_POST['test_variable']);
//Далее вывод формыкод формы:
<form action="/index.php" method="POST">
<input name="test_variable" type="text">
<input type="button">
</form>------------------------------------
Проблема на 100% в настройке сервера, т.к. на другом он жил. Помогите, плиз, с настройкой.
заранее спасибо!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<body>
<form action="test.php" method="post">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html><?php
echo "First name - ".$_POST['fname'];
?>все работает
>все работаеттак у вас оно работает на рабочем сервере)))))) я выше писал:
"Проблема на 100% в настройке сервера, т.к. на другом он жил."кто нибудь видел подобные проблемы?
вот логи:
error.log (изменения после отправки формы):[Sat Jul 25 01:59:00 2009] [debug] mod_deflate.c(632): [client 62.84.101.66] Zlib: Compressed 4491 to 1313 : URL /index.php, referer: http://domain.net/
access.log (изменения после отправки формы):
x.y.z.c - - [25/Jul/2009:01:59:00 +0400] "POST /index.php HTTP/1.1" 200 1331 "http://domain.net/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729)"
>[оверквотинг удален]
>error.log (изменения после отправки формы):
>
>[Sat Jul 25 01:59:00 2009] [debug] mod_deflate.c(632): [client 62.84.101.66] Zlib: Compressed 4491
>to 1313 : URL /index.php, referer: http://domain.net/
>
>access.log (изменения после отправки формы):
>
>x.y.z.c - - [25/Jul/2009:01:59:00 +0400] "POST /index.php HTTP/1.1" 200 1331 "http://domain.net/" "Mozilla/5.0
>(Windows; U; Windows NT 5.1; ru; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR
>3.5.30729)"Ну попробуй отключить mod_deflate на время теста
плюс ко всему:вставил в начале скрипта:
<?php var_dump($_REQUEST); ?>Дало вывод:
array(2) {
["hz123"]=> string(32) "fd37e710ab61b1c578e6275696406693"
["PHPSESSID"]=> string(32) "3cd04a9c44dde32989bfc647bf140433"
}
hz123 - это кукис, остался от дургово скрипта
у кого нибудь было что переменная до скрипта не доходила?
>[оверквотинг удален]
>
>Дало вывод:
>array(2) {
>["hz123"]=> string(32) "fd37e710ab61b1c578e6275696406693"
>["PHPSESSID"]=> string(32) "3cd04a9c44dde32989bfc647bf140433"
>}
>hz123 - это кукис, остался от дургово скрипта
>
>
>у кого нибудь было что переменная до скрипта не доходила?поборол переносом php.ini с другого сервера (там конструкция один-в-один такая же).....
сорри за флуд
такая же проблема, php работет, но как только начинаю использовать POST - нет прехода на другую страницу, и ошибки никакой не выдает, просто сбрасываются значения формы и все,
подскажите в чем может быть дело
>такая же проблема, php работет, но как только начинаю использовать POST -
>нет прехода на другую страницу, и ошибки никакой не выдает,
>просто сбрасываются значения формы и все,
>подскажите в чем может быть делоразобрался я в этой проблеме:
1) если пихать данных больше чем установлен лимит в php - apache сбрасывает соединение.
2) макс размер POST 2Гб, но некоторый размер уходит на название переменных, так что передать 2Гб по POST нельзя!
>
>разобрался я в этой проблеме:
>1) если пихать данных больше чем установлен лимит в php - apache
>сбрасывает соединение.
>2) макс размер POST 2Гб, но некоторый размер уходит на название переменных,
>так что передать 2Гб по POST нельзя!1. не понятно как разобрался
2. что же ты ему пихал по посту фильм на >2ГБ ????
>>
>>разобрался я в этой проблеме:
>>1) если пихать данных больше чем установлен лимит в php - apache
>>сбрасывает соединение.
>>2) макс размер POST 2Гб, но некоторый размер уходит на название переменных,
>>так что передать 2Гб по POST нельзя!
>
>1. не понятно как разобрался
>2. что же ты ему пихал по посту фильм на >2ГБ ????1) первое нашел эксперементально, действительно сбрасывает.
2) максимальный размер написан в стандарте.
3) пихал я ему файл .aviз.ы. кстати если в php сказать макс размер POST >2Гб работает очень странно.
DEBIAN LENNY, Apache 2, Php5
перерыл на предмет сравнения старый рабочий конфиг php.ini (php4) c php5.ini - в котором _POST пустой массив на след.странице.нашел в Php.ini(v5) Новую переменную (нет ее в php4.ini)
; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends. If you're not using them, it's recommended to turn them off,
; for performance reasons.
;register_long_arrays = On
register_long_arrays = OFFпоставил ее в OFF - НЕ ПОМОГЛО! ни разу ..
остальное стоит такжен как и на php4.ini
register_globals = Off
register_argc_argv = On
post_max_size = 48MЕСТЬ ЕЩЕ ИДЕИ ?
>register_globals = Off
>register_argc_argv = On
>post_max_size = 48M
>
>ЕСТЬ ЕЩЕ ИДЕИ ?поставить размер upload-файла меньше размера 48M (post_max_size). тут тож глюки видел
з.ы. даже если нет файлов для аплоада всё равно поменяйте ;-)
Изменил register_globals OFF на ON и все заработало!
> Изменил register_globals OFF на ON и все заработало!ура зароботало Спасибо
>> Изменил register_globals OFF на ON и все заработало!
> ура зароботало СпасибоЭто не решение проблеммы. дело в том, что все гениальное-просто
Нужно убрать с тега FORM все, кроме метода и исполнителя. Enctype чудесным образом перекручивает данные.
И совет - чаще делай дебаг, 99% помогает