IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Проблема с глобальными переменными (https://www.imho.ws/showthread.php?t=83622)

MiracleDrug 11.04.2005 20:13

Проблема с глобальными переменными
 
Всем привет

вот поставил я Денвер и решыл немного занятся програмированием на пхп. Тут вроде не тяжело но проблемка возникла. Вот скрипт(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"

Вроде все правильно но почемуто не работает:(

hempsmoke 11.04.2005 20:48

так сама-то страница вызвана методом get. так что он тоже присутствует.
или я что-то не понял.

RaZEr 11.04.2005 20:50

Чему равен $_SERVER['REQUEST_METHOD'] и что выводит ini_get('register_globals')?

Sheryld 13.04.2005 11:05

а какой используется http-сервер?

MiracleDrug 21.04.2005 17:53

$_SERVER['REQUEST_METHOD'] - работает :yees:
а вот $REQUEST_METHOD дальше не работает :(

на счет ini_get('register_globals') - то я не вкурсе как его юзать :biggrin:

а сервет а юзаю Апачи

RaZEr 21.04.2005 17:59

Цитата:

я не вкурсе как его юзать
А юзать его просто - ctrl+c,ctrl+v

MiracleDrug 21.04.2005 18:07

без всяких там echo ?
а что он должен показать?

Sensey 22.04.2005 19:04

а нельзя заюзать if(!empty($_POST))

?

RaZEr 22.04.2005 19:13

Цитата:

без всяких там echo ?
echo или var_dump. показать должен false учтывая суть твоей проблемы.

MiracleDrug 02.05.2005 14:41

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>
и я хочу обращатся к инпутам через их неймы но не получается....

Sensey 03.05.2005 20:13

не хочешь писать нормально - впередт...
Вставь в начале скрипта строчку :

@import_request_variables("GPC");

AleXXXSoft 04.05.2005 09:10

Цитата:

MiracleDrug:
и я хочу обращатся к инпутам через их неймы но не получается....
ну так в чем проблема?
Код:

$l_login=$_POST["l_login"]; ...

apoc 11.05.2005 15:33

Цитата:

Sensey:
не хочешь писать нормально - впередт...
Вставь в начале скрипта строчку :

@import_request_variables("GPC");
не всегда работает...

есть такой вариант, и я его успешно юзаю уже очень долго, не говорю, что это решение сто-процентное, но все же вариант, и он рабочий!

в начале твоего кода пишешь:

foreach ($GLOBALS as $node) { if (is_array($node)) foreach($node as $node_key=>$node_val) { $$node_key = $node_val; } } // Exctract under GLOBALS off

RaZEr 11.05.2005 15:37

Проходить по двойному циклу при загрузке каждой страницы это конечно интересно...

apoc 11.05.2005 15:43

Цитата:

RaZEr:
Проходить по двойному циклу при загрузке каждой страницы это конечно интересно...
Согласен :)))) гы... но у меня в движке такая строчка вначале прописана. Реально, конечно можно сейчас сказать, что я не прав... потому как логикой можно придти к тому что это глупо "два раз..." и т.п. но на практике, я сделал в своем движке такую штуку... и уже сделал на нем несколько проектов, все работает и все зашибись....... так что, если нет дургого варианта, то этот хоть какой то... а сервера с глобалсами выключеннными будут все чаще...

RaZEr 11.05.2005 15:50

Цитата:

а сервера с глобалсами выключеннными будут все чаще
А включить религия не позволяет?

Sheryld 11.05.2005 15:52

Код:

все работает и все зашибись
вот вся твоя правда:)

apoc 11.05.2005 16:00

Цитата:

Sheryld:
вот вся твоя правда
Я очень внимательно слежу за быстродействем работы скриптов...
но релаьно генерация страницы около 0.20 секунды... что я считаю нормлаьным при исользовании 5-10 модулей на страницу...

Пример того что я делаю каждый раз... для анализа времени генерации...
Кстати это данные от работы этого куска кода, что я прдложил.

<!-- STR: 0.51864400 1115814430 -->
<!-- END: 0.51941800 1115814430 -->
<!-- DAY: 11/05/2005 15:27:10 -->

Думаю, что 1 тысячная... это ничто, если вообще нет никаких вариантов.

Цитата:

RaZEr:
А включить религия не позволяет?
Насчет религиии... то часто мне попадаются варианты, где глобалсы выключены и включить могут только админы, а им это делать в лом, думаю, что это бывает и с другими людьми.

RaZEr 11.05.2005 16:06

Цитата:

часто мне попадаются варианты, где глобалсы выключены и включить могут только админы
Ни разу не сталкивался. Но даже будь оно так, - админа можно попросить включить.

Sheryld 11.05.2005 16:06

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

$_GET
$_POST
$_SESSION
$_SERVER


Часовой пояс GMT +4, время: 04:49.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.