Страница 1 из 1

Проблема с обработкой форм в PHP.

Добавлено: Вт мар 14, 2006 21:41
Scar
Я все проделывал в точности так, как было сказано в одной книге.

Страница "example.php":

Код: Выделить всё

<form name="example_form" action="test.php" method="get">

<input type="text" name="first" size="4" maxlenght="4">

<input type="text" name="second" size="4" maxlenght="4">

<input type="submit" value="Умножить">

</form>

Страница "test.php":

Код: Выделить всё

<?php

Header("Content-type: text/html");

echo "$first умножить на $second получится ", $first*$second;

?>
А вот что у меня выводится в результате, когда я нажимаю на кнопку "Умножить":

Код: Выделить всё

Notice: Undefined variable: first in c:\program files\easyphp1-8\www\test.php on line 5

Notice: Undefined variable: second in c:\program files\easyphp1-8\www\test.php on line 5
умножить на получится 
Notice: Undefined variable: first in c:\program files\easyphp1-8\www\test.php on line 5

Notice: Undefined variable: second in c:\program files\easyphp1-8\www\test.php on line 5
0
Объясните пожалуйста в чем проблема?

Добавлено: Вт мар 14, 2006 22:20
ищейка
если хочеш чтоб так работало то включи регистр глобалс... или юзай массив
$_REQUEST ... это безопасней

Добавлено: Вт мар 14, 2006 22:47
Scar
ищейка,
А вот с этого момента поподробнее. Я не понял, что включить и как? И что это за $_REQUEST?

Если можешь, опиши все поподробнее.

Добавлено: Вт мар 14, 2006 22:54
ищейка
Scar,
про первый вариант забудь... тк он делает уязвимый неграмотный код...
про 2-ой
$_REQUEST содержит все данные, полученные постом и гетом...
если к скрипту обратились script.php?bla=123
то $_REQUEST['bla'] переменная в script.php будет ровняться "123"

Добавлено: Вт мар 14, 2006 23:24
Scar
ищейка,
После второго варианта вот что у меня получается:

Код: Выделить всё

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\test.php on line 2
Зато первый вариант работает.

А насчет второго я прочел, что еще так можно.

Код: Выделить всё

$_POST[`bla`]
Это верно?

Добавлено: Вт мар 14, 2006 23:28
ищейка
А насчет второго я прочел, что еще так можно.
Код:
$_POST[`bla`]

Это верно?
если данные переданны методом пост то да, если гет ещё можно $_GET...
После второго варианта вот что у меня получается:
Код c:\program files\easyphp1-8\www\test.php в студиу !

Добавлено: Ср мар 15, 2006 14:32
Scar
ищейка,
Какую "студиу".

Добавлено: Ср мар 15, 2006 15:01
vivk
Scar писал(а):ищейка,
Какую "студиу".
))))))))
В нашу )))) код выкладывай )) весь скрипт покажи а не только ошибку ))

Добавлено: Чт мар 16, 2006 15:57
Scar
ищейка,
Все. Я нашел и исправил ошибку.

Вот какой был код на странице "test.php":

Код: Выделить всё

<?php 
echo "Ваше имя: $_REQUEST['nm']";
?>
А теперь я понял что "$_REQUEST" нельзя использовать в кавычках. И правильно будет так:

Код: Выделить всё

<?php 
echo "Ваше имя: ", $_REQUEST['nm'];
?>
Большое спасибо! Разобрался! :)

Добавлено: Чт мар 16, 2006 16:06
ищейка
Scar,
можно, вот так
echo "Ваше имя: $_REQUEST[nm]";

Добавлено: Чт мар 16, 2006 16:16
Scar
ищейка,
Действительно, и так можно. :)