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

Модератор: Злобный

Ответить
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

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

Сообщение 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
Объясните пожалуйста в чем проблема?
ищейка
Продвинутый
Сообщения: 784
Зарегистрирован: Чт мар 11, 2004 12:36
Контактная информация:

Сообщение ищейка »

если хочеш чтоб так работало то включи регистр глобалс... или юзай массив
$_REQUEST ... это безопасней
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

Сообщение Scar »

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

Если можешь, опиши все поподробнее.
ищейка
Продвинутый
Сообщения: 784
Зарегистрирован: Чт мар 11, 2004 12:36
Контактная информация:

Сообщение ищейка »

Scar,
про первый вариант забудь... тк он делает уязвимый неграмотный код...
про 2-ой
$_REQUEST содержит все данные, полученные постом и гетом...
если к скрипту обратились script.php?bla=123
то $_REQUEST['bla'] переменная в script.php будет ровняться "123"
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

Сообщение 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`]
Это верно?
ищейка
Продвинутый
Сообщения: 784
Зарегистрирован: Чт мар 11, 2004 12:36
Контактная информация:

Сообщение ищейка »

А насчет второго я прочел, что еще так можно.
Код:
$_POST[`bla`]

Это верно?
если данные переданны методом пост то да, если гет ещё можно $_GET...
После второго варианта вот что у меня получается:
Код c:\program files\easyphp1-8\www\test.php в студиу !
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

Сообщение Scar »

ищейка,
Какую "студиу".
Аватара пользователя
vivk
Продвинутый
Сообщения: 820
Зарегистрирован: Пн авг 08, 2005 12:14
Контактная информация:

Сообщение vivk »

Scar писал(а):ищейка,
Какую "студиу".
))))))))
В нашу )))) код выкладывай )) весь скрипт покажи а не только ошибку ))
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

Сообщение Scar »

ищейка,
Все. Я нашел и исправил ошибку.

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

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

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

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

<?php 
echo "Ваше имя: ", $_REQUEST['nm'];
?>
Большое спасибо! Разобрался! :)
Последний раз редактировалось Scar Чт мар 16, 2006 16:11, всего редактировалось 2 раза.
ищейка
Продвинутый
Сообщения: 784
Зарегистрирован: Чт мар 11, 2004 12:36
Контактная информация:

Сообщение ищейка »

Scar,
можно, вот так
echo "Ваше имя: $_REQUEST[nm]";
Scar
Юзер
Сообщения: 98
Зарегистрирован: Пн мар 06, 2006 02:18

Сообщение Scar »

ищейка,
Действительно, и так можно. :)
Ответить

Вернуться в «Программирование»