>>Ситуация, вот форма:
>>http://www.jpmotors.ru/mail.php
>>Вот ее скрипт:
>>http://www.jpmotors.ru/mail.txt
>>Форма не отправляется. Не могу понять в чем дело. Думаю, что дело
>>в:
>>
>>if(!$frendemail) $errors.='*Отсутствует email друга!';
>>else
>>{$frendemail=eregi("^([_.0-9a-z-]+@)([0-9a-z][0-9a-z-]+.)+([a-z]{2,4})$",$frendemail);
>>if(!$frendemail) $errors.='*Email друга указан не верно!';}
>>
>>А, в частности, думаю, что проблема в переменной $frendemail. После ее обработки
>>eregi() нужно присвоить значение другой переменной, к примеру: $frendemailsend. При этом
>>все работает. Но я не знаю правильно ли это? Как записать
>>правильно проверки и при этом была отправка? Помогите, пожалйста, разобраться. А
>>также я очень буду рад увидеть ваши комментарии и дополнения к
>>данному скрипту... Спасибо!
>А разве не так надо if(!$frendemail) {
>$errors.='*Email друга указан не верно!';
>} else {}#
>???
Нет, не так. Если операторов в ветвях более одного, они заключаются в блок (фигурные скобки {}), в данном случае он один, соответсвенно, не заключается в блок.
Функция eregi () возвращяет логическую переменную.
Соответсвенно, $frendemail, как результат функции - это логическая переменная. А дальше всё ясно почему нет отправки формы:
mail(1,$subject,$message,$headers);
То есть, нужно просто напросто сделать так:
if(!$frendemail) $errors.='<FONT color=red><B>*</B></FONT>Отсутствует email друга!<BR>';
else
{$fm=eregi("^([_\.0-9a-z-]+@)([0-9a-z][0-9a-z-]+\.)+([a-z]{2,4})$",$frendemail);
if(!$fm) $errors.='<FONT color=red><B>*</B></FONT>Email друга указан не верно!<BR>';
результат функции записывает в переменную $fm, а дальше все по контексту... Я правильно понимаю?
|