Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка полей формы на заполнение.подскажите.
 
 автор: Клюев Александр   (23.12.2006 в 01:56)   письмо автору
 
 

Вот форма

<form name=form ACTION="http://vision.biz/forma1.php" method=post>

<TABLE BORDER=0 CELLSPACING=3 cellpadding="3">

<TR><TD align="right">&#1048;&#1084;&#1103;:</td><td><input type=text 
name="TOEMAIL[name]"SIZE=39></td></tr>

<TR><TD align="right">&#1040;&#1076;&#1088;
&#1077;&#1089;, &#1090;&#1077;&#1083;
&#1077;&#1092;&#1086;&#1085;:</td> 
<td><input type=text name="TOEMAIL[adres]
"SIZE=39></td></tr>

<TR><TD align="right">E-mail:</td><td> 
<input type=text name="TOEMAIL[email]
"SIZE=39></td></tr>

<TR><TD valign="top">&#1042; &#1101;&#1090;
&#1086;&#1084; &#1087;&#1086;&#1083;&#1077; 
&#1085;&#1072;&#1087;&#1080;&#1096;&#1080;
&#1090;&#1077; &#1042;&#1072;&#1096; 
&#1074;&#1086;&#1087;&#1088;&#1086;&#1089;
 :</td><td><TEXTAREA name="TOEMAIL[zakaz]" 
rows=5 cols=43 WRAP></TEXTAREA></td></tr>
    </table></CENTER>

<CENTER><p>
    <HR WIDTH=75% ALIGN=center SIZE=1>
    <p><INPUT TYPE=SUBMIT VALUE="&#1054;
&#1090;&#1087;&#1088;&#1072;&#1074;&#1080;
&#1090;&#1100; &#1074;&#1086;&#1087;&#1088;
&#1086;&#1089;">
    <INPUT TYPE=RESET VALUE="&#1054;&#1095;
&#1080;&#1089;&#1090;&#1080;&#1090;&#1100; 
&#1092;&#1086;&#1088;&#1084;&#1091;"></p>
    </CENTER>

</form>

а вот скрипт forma1.php

<?php


$email 
"xvid@inbox.ru"


$subj  "привет!пришел заказ!";


$ToEmail $HTTP_POST_VARS['TOEMAIL'];

$headers "Content-type: text/plain; charset=windows-1251 rn";

$msg "форма обработана rn";

if(
strlen$HTTP_POST_VARS['TOEMAIL'])==0)  
{
  die(
"Ne vse polya zapolneny");
}

foreach(
$ToEmail as $key=>$val$msg .= "Поле ".htmlspecialchars($key).". Значение: 
"
.htmlspecialchars($val)."rn";

mail($email$subj$msg$headers); 

if  ( !
defined 'S_MOD' ) )  {
echo 
"<meta http-equiv='refresh' content='0; url=/vopr1.htm'>";
exit;
}
?>

вопрос в том,как проверить поля формы на заполнение.сколько пытаюсь не как не выходит.

может кто то делал подобное.поделитись полезными мыслями.плиз.

с уважением, Клюев Александр.

   
 
 автор: Саня   (23.12.2006 в 02:28)   письмо автору
 
   для: Клюев Александр   (23.12.2006 в 01:56)
 

Да поможет вам функция empty()!
И отвыкайте пользоваться массивами $HTTP_POST_VARS. В грядущей версии php таких не будет. Пользуйтесь лучше массивом $_POST.

   
 
 автор: Keks   (23.12.2006 в 07:56)   письмо автору
 
   для: Клюев Александр   (23.12.2006 в 01:56)
 

Да, правильно сказали, надо использовать функцию empty, то есть примерно так:

<?php
if (empty($var)) {
echo (
"Полене заполнено! Повторите ввод!");
die;
}
?>

Есть еще вроде isset() для проверки на заполнение, но лучше используйте первый вариант.

   
 
 автор: Shiva   (23.12.2006 в 08:56)   письмо автору
 
   для: Клюев Александр   (23.12.2006 в 01:56)
 

Саня написал правильно. isset() здесь не поможет, т.к. будет проверять только инциализацию элемента, и в любом случае получит true.

Перед проверкой лучше прогнать содержимое переменной через trim(), чтобы избежать значения, состоящего из пробела (-ов).

   
 
 автор: XPraptor   (24.12.2006 в 05:14)   письмо автору
 
   для: Shiva   (23.12.2006 в 08:56)
 

isset при пустом элементе вернет false и этой проверки достаточно. Но чтобы не пихали пробелы в поля, нужно как и сказали

 if(isset($_POST['field_name']) && !empty(trim($_POST['field_name'])))


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

   
 
 автор: kasmanaft   (24.12.2006 в 08:26)   письмо автору
 
   для: XPraptor   (24.12.2006 в 05:14)
 

>> isset при пустом элементе вернет false
Не, неправду говорите ...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования