Проверки формы

romanich

Новичок
Проверки формы

Читаю книгу "PHP4" В. Гилмор, и вот что там написано:
PHP:
<html>
<head>
<title>Проверка формы</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">
<?
$form="
<form action=\"myform.phtml\" method=\"post\">
<input type=\"hidden\" name=\"seenform\" value=\"y\">
<b>Ведите информацию</b><br>
Ваше имя:<br>
<input type=\"text\" name=\"name\" size=\"20\" maxlenght=\"20\" value=\"\"><br>
Ваш e-mail:<br>
<input type=\"text\" name=\"email\" size=\"20\" maxlenght=\"40\" value=\"\"><br>
Ваши комментарии:<br>
<textarea name=\"comments\" rows=\"3\" cols=\"3\"></textarea><br>
<input type=\"submit\" value=\"отправить\">
</form>
";
//Если форма ранее не отображалась, отобразить ее.
//Для проверки используется значение скрытой переменной $seenform
if ($seenform !="y"):
print "$form";
else:
print "Все хорошо";
endif;
?>
</body>
</html>
Немного в сокращенном варианте, но смысл я надеюсь понятен.

Вопрос в том, то ли я чего то не понял. То ли сам код чушь собачья. Ведь $seenform ="y". Или я не прав?:confused:
 

Sanych

Guest
Re: Проверки формы

Автор оригинала: romanich
Вопрос в том, то ли я чего то не понял. То ли сам код чушь собачья. Ведь $seenform =&quot;y&quot;. Или я не прав?:confused:
PHP:
<input type=\"hidden\" name=\"seenform\" value=\"y\">
на сколько я понял - форма не будет показываться после нажатия сабмита. хидден филд сыграет свою роль - присвоет $seenform = "y"
 

romanich

Новичок
Re: Re: Проверки формы

Автор оригинала: Sanych

PHP:
&lt;input type=\&quot;hidden\&quot; name=\&quot;seenform\&quot; value=\&quot;y\&quot;&gt;
на сколько я понял - форма не будет показываться после нажатия сабмита. хидден филд сыграет свою роль - присвоет $seenform = &quot;y&quot;
Да, в том то все и дело.
А в этой книге таким макаром пытаются проверить были ли заполнены соответствующие поля формы или нет. Если нет - выводится форма, если да, то то-то то-то.
 

Sanych

Guest
Re: Re: Re: Проверки формы

Автор оригинала: romanich

Да, в том то все и дело.
А в этой книге таким макаром пытаются проверить были ли заполнены соответствующие поля формы или нет. Если нет - выводится форма, если да, то то-то то-то.
:rolleyes:
это проверка заполненности полей проходи по hidden field'у???

тогда я наверное точно ничего не понимаю в этой жизни.
Скорей всего какая-нить ошибка перевода твоей книги.
 

Barlone

Guest
Re: Re: Re: Проверки формы

Автор оригинала: romanich

Да, в том то все и дело.
А в этой книге таким макаром пытаются проверить были ли заполнены соответствующие поля формы или нет. Если нет - выводится форма, если да, то то-то то-то.
Проверяется, попали сюда, нажав кнопку Submit в форме, или попали сюда как-то иначе (по ссылке с другой страницы, или написали адрес руками). Были ли заполнены поля не проверяется.
 

Sanych

Guest
Re: Re: Re: Re: Проверки формы

Автор оригинала: Barlone

Проверяется, попали сюда, нажав кнопку Submit в форме, или попали сюда как-то иначе (по ссылке с другой страницы, или написали адрес руками). Были ли заполнены поля не проверяется.
так ведь если уж собрался писать все значения полей руками в адресе, туда же можно приписать и переменную из хидден филда.

Или я не прав?

И если прав тогда какой смысл такой проверки?
 

RomikChef

Guest
Романич просто не понял книгу.
и нечего тут обсуждать.
 

romanich

Новичок
Автор оригинала: RomikChef
Романич просто не понял книгу.
и нечего тут обсуждать.
Что значит не понял?
Сам код приведен выше, помоему двух мнений не должно быть, а проверить была или не была нажата кнопка, не проще передать координаты этой самой кнопки (submit).
 

svirol

Новичок
Да, согласна, проще кнопке сабмит дать имя (name="send") и проверять по ней.
А если какоето поле вдруг не заполнено или заполнено не корректно, то устанавливаем $send=0;
Но такие примеры часто встречаются. И тут уж ничего не поделаешь...
 

Barlone

Guest
Весь смысл в том, что одним и тем же скриптом и выводится форма, и обрабатывается ее заполнение.
 

romanich

Новичок
Автор оригинала: Barlone
Весь смысл в том, что одним и тем же скриптом и выводится форма, и обрабатывается ее заполнение.
Насчет одним скриптом согласен, а нсачет обрабатывается, скорее всего опечатка.
 

Sanych

Guest
Автор оригинала: romanich

Насчет одним скриптом согласен, а нсачет обрабатывается, скорее всего опечатка.
ну так в твоем примере (укороченном) обработчика явно нету :)

правда не знаю, может ты его вырезал? :D
 

RomikChef

Guest
О!
Только загонять ее при этом в переменную - только лишний геморрой.
 

romanich

Новичок
Автор оригинала: Sanych

ну так в твоем примере (укороченном) обработчика явно нету :)

правда не знаю, может ты его вырезал? :D
Так, я про что и говорю.
Все что я вырезал это заменил:
присваиваем переменным, то значение что ввел пользователь в форму на "Все хорошо". Видно в книге опечатка. Единственно, далее на основе данной проверки, строятся более сложные программы, аж где то страниц на 10. Обидно.
 
Сверху