![]() |
Проблема с глобальными переменными
Всем привет
вот поставил я Денвер и решыл немного занятся програмированием на пхп. Тут вроде не тяжело но проблемка возникла. Вот скрипт(vote.php): <? if($REQUEST_METHOD=="POST") { echo"post"; } else { echo"no request method"; } ?> <html> <head> <title></title> </head> <body> <center> <form name="forma" action="vote.php" method="post"> <textarea name="question" ></textarea><br /> <input type="text" name="answer" " />" <br /> <input type="submit" value="Go!GO!" name="go"> <input type="reset" value="CLEAN" name="res"> </form> </center> </body> </html> Возникает проблема следующего плана. При загрузке страницы первый раз срабатывает echo"no request method" и при следующем нажатие (многократном) кнопки go ( т.е. submita) дальше срабатывает echo"no request method". Но почему? Ведь на форме конкретно прописан метод пост. Я думал что в php.ini стоит какойто запрет на использование глобальных переменных. И вот там такие настройки register_globals = On variables_order = "EGPCS" Вроде все правильно но почемуто не работает:( |
так сама-то страница вызвана методом get. так что он тоже присутствует.
или я что-то не понял. |
Чему равен $_SERVER['REQUEST_METHOD'] и что выводит ini_get('register_globals')?
|
а какой используется http-сервер?
|
$_SERVER['REQUEST_METHOD'] - работает :yees:
а вот $REQUEST_METHOD дальше не работает :( на счет ini_get('register_globals') - то я не вкурсе как его юзать :biggrin: а сервет а юзаю Апачи |
Цитата:
|
без всяких там echo ?
а что он должен показать? |
а нельзя заюзать if(!empty($_POST))
? |
Цитата:
|
echo ini_get('register_globals'); равно 1
echo $_SERVER['REQUEST_METHOD']; равно POST у понятно что $REQUEST_METHOD можно заменить на $_SERVER['REQUEST_METHOD']; но у меня есть еще форма <form action="index.php" method="post" name="l_form"> <input type="text" name="l_login"><br /> <input type="password" name="l_pass"><br /> <input type="submit" name="l_submit" value="log_me"><br /> </form> и я хочу обращатся к инпутам через их неймы но не получается.... |
не хочешь писать нормально - впередт...
Вставь в начале скрипта строчку : @import_request_variables("GPC"); |
Цитата:
Код:
$l_login=$_POST["l_login"]; ... |
Цитата:
есть такой вариант, и я его успешно юзаю уже очень долго, не говорю, что это решение сто-процентное, но все же вариант, и он рабочий! в начале твоего кода пишешь: foreach ($GLOBALS as $node) { if (is_array($node)) foreach($node as $node_key=>$node_val) { $$node_key = $node_val; } } // Exctract under GLOBALS off |
Проходить по двойному циклу при загрузке каждой страницы это конечно интересно...
|
Цитата:
|
Цитата:
|
Код:
все работает и все зашибись |
Цитата:
но релаьно генерация страницы около 0.20 секунды... что я считаю нормлаьным при исользовании 5-10 модулей на страницу... Пример того что я делаю каждый раз... для анализа времени генерации... Кстати это данные от работы этого куска кода, что я прдложил. <!-- STR: 0.51864400 1115814430 --> <!-- END: 0.51941800 1115814430 --> <!-- DAY: 11/05/2005 15:27:10 --> Думаю, что 1 тысячная... это ничто, если вообще нет никаких вариантов. Цитата:
|
Цитата:
|
А почему бы просто не обращаться везде через глобальные хеши. Тода не надо будеть думать выключены или выключены.
$_GET $_POST $_SESSION $_SERVER |
| Часовой пояс GMT +4, время: 04:49. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.