Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Второй день изучаю PHP. Дурацкий вопрос. (http://forum.oszone.net/showthread.php?t=31558)

Guest 05-09-2003 22:04 215861

Изучаю php по книге Д.Котерова
"Самоучитель PHP"
Установил Апач 1.3.28 + Php 4.3.3
Вроде все работает.
Но дошел до главы работы с формами и здесь начались грабли

1. Создаем Файл form.html

<html>
<body>

<form action="hello.php" >
Введите имя: <input type=text name="name" value="Неизвестный"> <br>
Введите возраст: <input type=text name="age" value="НЕизвестно"><br>
<input type=submit value="Жми сюда">
</form>

</body>
</html>

2.Cоздаем hello.php

<html>
<body>
<?php

echo "Привет, $name! <br> Я знаю, Вам $age лет"

?>
</body>
</html>


При запуске form.html выводиться форма, в которую надо записать Имя (Вася) и Возраст (18) и потом нажать на кнопку отправить.
все это я делаю, открывается окно

Привет, !
Я знаю, Вам лет

в адресной строке при этом написано http://127.0.0.1/hello.php?name=%C2%...FF+&age=18
т.е. данные передаються, но hello.php по ходу дела их не воспринимает.
НЕ могу изучать дальше язык, не разобравшись с этим. почему так происходит и что я делаю не так?

Добавлено:

Вопрос снят
Спасибо!
дело было в параметре php.ini
register_globals = On

Megabyte 08-09-2003 13:18 215862

Вообще-то в PHP 4 есть специальные переменные $_GET[] и $_POST[], в твоём случае лучше написать
Код:


echo "Привет, $_GET['name']! <br> Я знаю, Вам $_GET['age'] лет"

Разрабочтики PHP рекомендуют использовать именно этот способ получения переменных методом GET и отказаться от всех других способов.

General 18-09-2003 19:44 215863

Guest
Я тоже долго парился с этим делом. Такая фишка, как написали Вы, прокатывает только в PHP версии ниже четвёртой.
Могу Вам порекомендовать пользоваться только специальными массивами, т. к. в пятой версии параметра "register_globals" может вообще не быть. Кроме того, врядли Вы найдёте хостера, который по вашей милой просьбе согласится включить Register_globals :gigi:

Megabyte
В принципе, вовсе не обязательно использовать именно эти массивы. Есть ещё $HTTP_GET_VARS[], $HTTP_POST_VARS[], $HTTP_COOKIE_VARS[], $HTTP_SESSION_VARS[]... Кроме того есть ещё такой замечательный массив $_REQUEST[], пользоваться которым, правда, на мой неискушённый взгляд, ненамного более безопасно, чем при register_globals=on.

С уважением,
General.


Время: 08:50.

Время: 08:50.
© OSzone.net 2001-