Автор: noki
Дата сообщения: 01.11.2006 13:36
[more]<?
function checkmail($str)
{
$badchars = "[ ]+| |\+|=|[|]|{|}|`|\(|\)|,|;|:|!|<|>|%|\*|/|'|\"|~|\?|#|\\$|\\&|\\^|www[.]";
return (eregi($badchars,$str));
}
function headerconv ($str)
{
$str = trim($str);
$str = stripslashes($str);
return $str;
}
function htmlconv ($str)
{
if (get_magic_quotes_gpc):
$str = stripslashes($str);
endif;
$str = str_replace("\"", """, $str);
$str = str_replace("<","<",$str);
$str = str_replace(">",">",$str);
$str = str_replace("\r\n", "\n", $str);
$str = str_replace("\r", "\n", $str);
$str = str_replace("\n", "<br>", $str);
$str = str_replace("\$", "$", $str);
$str = str_replace("|", "/", $str);
$str = eregi_replace("(<br>*){2,}","<br><br>",$str);
$str = eregi_replace("[ ]{2,}", " ", $str);
$str = trim($str);
return $str;
}
include ("config.inc");
if ($config[inc_headers] == "on"):
include ($config[header]);
endif;
if ($action != "send"):
include ("./form.inc");
else:
if ($form[familia] == "" || $form[name] == "" || $form[otchestvo] == "" || $form[day] == "" || $form[month] == "" || $form[year] == "" || $form[cityday] == "" || $form[stranaday] == "" || $form[pol] == "" || $form[educate] == "" || $form[foto] == "" || $form[pochadress] == "" || $form[email] == "" || $form[semia] == "" || $form[deti] == ""):
$errorheader = "<p class=\"T\"><b>СООБЩЕНИЕ НЕ ОТПРАВЛЕНО!</b></p>";
$errormessage = "<p class=\"T\">Не были заполнены следующие обязательные поля:</p>";
$errormessage .= "<ol>";
<-------------------------------------------------->
if ($form[foto] == ""): $errormessage .= "<li><p class=\"T\">Ваша Фотография отсутствует</p></li>"; endif;
<------------------------------->
endif;
$errormessage .= "</ol>";
$errormessage .= "<p class=\"T\">Пожалуйста, вернитесь назад и попробуйте снова.</p>";
include ("./error.inc");
else:
$header[familia] = headerconv($form[familia]);
$header[name] = headerconv($form[name]);
<---------------------------------->
$form[foto] = htmlconv($form[foto]);
<--------------------------------------->
if (!(eregi("([a-z0-9_\-\.])+@([a-z0-9_\-\.])+\.([a-z0-9_\-\.])+",$form[email])) || checkmail($form[email])):
$errorheader = "<p class=\"T\"><b>СООБЩЕНИЕ НЕ ОТПРАВЛЕНО!</b></p>";
$errormessage = "<p class=\"T\">Введенный вами адрес E-Mail (".$form[email].") содержит
недопустимые символы или имеет неправильный формат.</p>";
$errormessage .= "<p class=\"T\">Пожалуйста, вернитесь назад и попробуйте снова.</p>";
include ("./error.inc");
else:
$contents = file($config[recip_file]);
$numlines = sizeof($contents);
for ($i=0;$i<$numlines;$i++) {
$contents[$i] = explode("|",$contents[$i]);
}
$form[send_to] = $contents[$form[recip]-1][1]."<".$contents[$form[recip]-1][0].">";
if ($form[sendcopy] == "on"):
$form[send_to] = $form[send_to] . ", ";
$form[send_to] .= $header[name]."<".$form[email].">";
endif;
$sendmessage = "<html>
<head>
<title>".$form[familia]."</title>
</head>
<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">
<tr>
<td><font face=\"Verdana\" size=\"2\">".$form[familia]."<br>".$form[name]."<br>".$form[otchestvo]."<br>".$form[day]."<br>".$form[month]."<br>".$form[year]."<br>".$form[cityday]."<br>".$form[stranaday]."<br>".$form[stranagoo]."<br>".$form[pol]."<br>".$form[educate]."<br>".$form[foto]."<br>".$form[pochadress]."<br>".$form[phone]."<br>".$form[email]."<br>".$form[semia]."<br>".$form[deti]."<br>".$form[message];
if ($config[features] == "on"):
$sendmessage .= "<br><br>----------------------
<br>Обозреватель: $HTTP_USER_AGENT
<br>Адрес IP: $REMOTE_ADDR";
endif;
$sendmessage .= "</font></td>
</tr>
</table>
</body>
</html>";
$headers = "MIME-Version: 1.0\n";
$headers .= "From: ".$header[name]."<".$form[email].">\n";
$headers .= "Content-Type: text/html; charset=".$config[charset]."\n";
$headers .= "X-Mailer: PHP/" . phpversion();
{
set_time_limit(30);
if (mail($form[send_to], $header[familia], $sendmessage, $headers)):
$okheader = "<p class=\"T\"><b>СООБЩЕНИЕ ОТПРАВЛЕНО!</b></p>";
$okmessage = "<p class=\"T\">Спасибо, ".$form[name].", ваше сообщение успешно отправлено.
Мы постараемся вам ответить в течение нескольких часов.";
if ($sendcopy == "on"):
$okmessage .= "<p class=\"T\">На ваш E-Mail (".$form[email].") послана копия письма. Через
несколько минут вы можете проверить свой почтовый ящик, чтобы убедиться, что отправка прошла успешно.</p>";
endif;
include ("./ok.inc");
else:
$errorheader = "<p class=\"T\"><b>СООБЩЕНИЕ НЕ ОТПРАВЛЕНО!</b></p>";
$errormessage = "<p class=\"T\">Произошла непредвиденная ошибка при попытке
отправить сообщение.</p>";
$errormessage .= "<p class=\"T\">Пожалуйста, вернитесь назад и попробуйте снова.
Если ошибка будет повторяться, обратитесь к <b><a href=\"mailto:".$config[admin_email]."\">Вебмастеру</a></b>.</p>";
include ("./error.inc");
endif;
}
endif;
endif;
endif;
if ($config[inc_headers] == "on"):
include ($config[footer]);
endif;
?>[/more]
Добавлено:
Говорят что у меня не верно написана функция прикрепления файлов. Вот и она: Mail_Mime::addAttachment() -- add attachment . Тока я так и не понял куда же мне ее приткнуть???
Добавлено:
Я так пониаю проблеиа в этом операторе$form[foto] = htmlconv($form[foto]); и в этом <br>".$form[foto].". Только что же вместо них надо вставить???