| |
|
|
| | Вот форма
<form name=form ACTION="http://vision.biz/forma1.php" method=post>
<TABLE BORDER=0 CELLSPACING=3 cellpadding="3">
<TR><TD align="right">Имя:</td><td><input type=text
name="TOEMAIL[name]"SIZE=39></td></tr>
<TR><TD align="right">Адр
ес, тел
ефон:</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">В эт
ом поле
напиши
те Ваш
вопрос
:</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="О
тправи
ть вопр
ос">
<INPUT TYPE=RESET VALUE="Оч
истить
форму"></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 в 01:56)
| | | Да поможет вам функция empty()!
И отвыкайте пользоваться массивами $HTTP_POST_VARS. В грядущей версии php таких не будет. Пользуйтесь лучше массивом $_POST. | |
| |
|
|
| |
|
|
| |
для: Клюев Александр
(23.12.2006 в 01:56)
| | | Да, правильно сказали, надо использовать функцию empty, то есть примерно так:
<?php
if (empty($var)) {
echo ("Полене заполнено! Повторите ввод!");
die;
}
?>
|
Есть еще вроде isset() для проверки на заполнение, но лучше используйте первый вариант. | |
| |
|
|
| |
|
|
| |
для: Клюев Александр
(23.12.2006 в 01:56)
| | | Саня написал правильно. isset() здесь не поможет, т.к. будет проверять только инциализацию элемента, и в любом случае получит true.
Перед проверкой лучше прогнать содержимое переменной через trim(), чтобы избежать значения, состоящего из пробела (-ов). | |
| |
|
|
| |
|
|
| |
для: Shiva
(23.12.2006 в 08:56)
| | | isset при пустом элементе вернет false и этой проверки достаточно. Но чтобы не пихали пробелы в поля, нужно как и сказали
if(isset($_POST['field_name']) && !empty(trim($_POST['field_name'])))
|
Тогда второе условие будет проверятся только при наличии каких либо символов в полях, а все пустые сразу на первом условии отсекаются. | |
| |
|
|
| |
|
|
| |
для: XPraptor
(24.12.2006 в 05:14)
| | | >> isset при пустом элементе вернет false
Не, неправду говорите ... | |
| |
|
|