Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2009-08-24 14:12:08

apd2004
Участник
Зарегистрирован: 2009-07-15
Сообщений: 11
Рейтинг :   

Скрипт обратной связи с прикреплением файла

Очень нужна форма обратной связи НО с возможностью прикреплять файлы !
Кто может , помогите (просто напишите код)...

Заранее спасибо!!

Register globals = off

Изменено apd2004 (2009-08-24 14:14:19)

Не в сети

#2 2009-08-24 15:13:43

graf
Участник
Откуда Днепр
Зарегистрирован: 2008-10-13
Сообщений: 394
Рейтинг :   

Re: Скрипт обратной связи с прикреплением файла

если сильно горит, сожно просто скриптик кинуть в корень

код формы

<form action="action_mail.php" method="post" enctype="multipart/form-data"> 
<center>Ваш E-mail:</center><input type="text" name="from"><br> 
<center>Тема:</center><input type="text" name="subj"><br> 
Сообщение:<br><textarea cols="50" rows="10" name="text"></textarea><br> 
Файл: <input type="file" name="file"><br> 
<input type="submit" name="submit" value="Отправить"> 
</form>

action_mail.php

<? 
//Функция проверки переменной 
function html_filter($str) { 
    $result = HTMLSpecialChars($str); 
    return $result;} 

//Функция проверки e-mail 
function isEmail($email){ 
    if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]+$", $email)){return TRUE;}else{return FALSE;}} 

//Функция отправки письма с аттачем 
$to = ("ВПИШИ@МЫЛО"); 
function XMail($from, $to, $subj, $text, $filename, $file) 
{ 
$f         = fopen($file,"rb"); 
$un        = strtoupper(uniqid(time())); 
$head      = "From: $from\n"; 
$head     .= "To: $to\n"; 
$head     .= "Subject: $subj\n"; 
$head     .= "X-Mailer: PHPMail Tool\n"; 
$head     .= "Reply-To: $from\n"; 
$head     .= "Mime-Version: 1.0\n"; 
$head     .= "Content-Type:multipart/mixed;"; 
$head     .= "boundary=\"----------".$un."\"\n\n"; 
$zag       = "------------".$un."\nContent-Type:text/html;\n"; 
$zag      .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; 
$zag      .= "------------".$un."\n"; 
$zag      .= "Content-Type: application/octet-stream;"; 
$zag      .= "name=\"".basename($filename)."\"\n"; 
$zag      .= "Content-Transfer-Encoding:base64\n"; 
$zag      .= "Content-Disposition:attachment;"; 
$zag      .= "filename=\"".basename($filename)."\"\n\n"; 
$zag      .= chunk_split(base64_encode(fread($f,filesize($file))))."\n"; 
if (!@mail("$to", "$subj", $zag, $head)) 
return 0; 
else 
return 1; 
} 


//Получаем данные из формы 
if(isset($submit)): 
//Проверяем полученные из формы данные 
$from = trim(html_filter($from)); 
$to = trim(html_filter($to)); 
$subj = trim(html_filter($subj)); 
$text = trim(html_filter($text)); 
$text = str_replace("\n", "<br>\n", $text); 
$filename = trim(html_filter($file_name)); 
//Если прикреплен файл 
if($filename!="" and $file_size>0): 
    if(XMail($from, $to, $subj, $text, $filename, $file)==1){header("Location:?send=ok");} 
endif; 
//Если Не прикреплен файл 
if($filename=="" or $file_size==0): 
    if(EMail($from, $to, $subj, $text)==1){header("Location:?send=ok");} 
endif; 
endif; 
?>

Не в сети

#3 2009-08-24 15:24:49

apd2004
Участник
Зарегистрирован: 2009-07-15
Сообщений: 11
Рейтинг :   

Re: Скрипт обратной связи с прикреплением файла

graf,
Спасибо, но , когда нажимаю "отправить" ... то просто появляется чистая страница....

на ящик тоже ничего не приходит...

Изменено apd2004 (2009-08-24 15:27:18)

Не в сети

#4 2012-02-17 18:33:46

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Скрипт обратной связи с прикреплением файла

apd2004 пишет:

Очень нужна форма обратной связи НО с возможностью прикреплять файлы

Вот эта форма работает, и файл прикрепляет,  проверено.   
http://www.php-mail.ru/?id=6

Но class.phpmailer.php  я брал отсюда    www.seomark.ru/class.phpmailer.zip, иначе возникали ошибки.

Изменено vl (2012-02-18 19:01:56)

Не в сети

Подвал раздела

Работает на FluxBB