Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Форум -> Обо всём... -> Форма обратной связи с возможностью прекрепить файл
Форма обратной связи с возможностью прекрепить файл
otherside Дата: 01.06.2009, в 14:28 | Сообщение №1
otherside
Старожил
Пользователь №: 22
Сообщений: 387

Добрый день, господа!
ИТак, нужно сделать форму обратной связи на сайте и чтоб была возможностиь прикрепить файл (а точнее несколько файлов) и чтоб все это добро падало на e-mail. Сама то форма обратной связи есть и она прекрасно пашет, а вот подскажите, как реализовать прикрепление файлов?
Благодарю!

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно otherside 01.06.2009 г. в 14:30:06
Serg_pnz Дата: 01.06.2009, в 14:46 | Сообщение №2
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2243

Код
1
function send_mail($to, $thm, $html, $path)
  {
    $fp = fopen($path,"r");
    if (!$fp)
    {
      print "Файл $path не может быть прочитан";
      exit();
    }
    $file = fread($fp, filesize($path));
    fclose($fp);

    $boundary = "--".md5(uniqid(time())); // генерируем разделитель
    $headers .= "MIME-Version: 1.0\n";
    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
   $headers .= "From: =?тут не знаю что писать, что бы пришел по-русски заголовок этот код брал из outlook express?= <adres@yandex.ru>\r\n";

   $multipart .= "--$boundary\n";
    $kod = 'windows-1251'; // или $kod = 'windows-1251';
    $multipart .= "Content-Type: text/html; charset=$kod\n";
    $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    $multipart .= "$html\n\n";

    $message_part = "--$boundary\n";
    $message_part .= "Content-Type: application/octet-stream\n";
    $message_part .= "Content-Transfer-Encoding: base64\n";
    $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
    $message_part .= chunk_split(base64_encode($file))."\n";
    $multipart .= $message_part."--$boundary--\n";

    if(!mail($to, $thm, $multipart, $headers))
    {
      echo "К сожалению, письмо не отправлено";
      exit();
    }
  }


где
Код
1
$to - мыло получателя
$thm - заголовок письма
$html - тело письма
$path - путь к файлу


Так же обратите внимание на этот участок кода
Код
1
$headers .= "From: =?тут не знаю что писать, что бы пришел по-русски заголовок этот код брал из outlook express?= <adres@yandex.ru>\r\n";

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Serg_pnz Дата: 01.06.2009, в 14:49 | Сообщение №3
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2243

Исходник, откуда выдернул вспомогательную функцию

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
otherside Дата: 16.03.2010, в 23:55 | Сообщение №4
otherside
Старожил
Пользователь №: 22
Сообщений: 387

Появилась необходимость в модуле Account добавить функцию (назовем её editdata) с простой формой обратной связи, отсылающая данные на указанный e-mail.
Есть у меня модуль подобный, состоящий только из одной формы, но вот перетащить её в функцию в модуль Account не получается ни как.

Товарищи, поделитесь кто нить формой обратной связи, которую можно было в функцию Аккаунт внедрить.
Slaed 2.5
Спасибо.
Я вот примерно так пытаюсь эту функцию соорудить. Отдельно, как модуль эта форма отлично работает.
PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
function editdata() {
    global
$user, $userinfo, $Default_Theme, $user_newsletter, $broadcast_msg, $user_news, $storyhome, $module_name, $pagetitle, $defis, $update_points, $stop, $aupload, $adirectory, $atypefile, $amaxsize, $awidth, $aheight, $nomer_company, $result7, $db, $prefix, $sitekey, $form_block;
    
$pagetitle = "$defis "._CHANGEHOME."";
  
        
head();
        
title(""._CHANGEHOME." | Изменить данные компании");
        if (
$_POST['op'] != "sys") {
    
    
OpenTable();
    
    echo
""._PRAVILO."";
    echo
"<form method=\"post\" action=\"index.php?name=Account&op=editdata\">";
    
CloseTable();
}

$callip = getenv("REMOTE_ADDR");
$callip2 = getenv("HTTP_USER_AGENT");
$form_block = "<form method=\"post\" action=\"index.php?name=Account&op=editdata\">"
."<table border=\"0\" cellpadding=\"10\" cellspacing=\"1\" width=\"100%\" class=\"bgcolor4\" align=\"center\">"
."<tr class=\"bgcolor1\"><th colspan=\"2\" align=\"center\">"._S_TITLE."</th></tr>"
."<tr class=\"bgcolor1\"><td>"._fio."</td><td><input type=\"text\" name=\"sender_fio\" size=\"65\" style=\"width: 350px\"> </td></tr>"
."<tr class=\"bgcolor1\"><td>"._god_mesto."</td><td><input type=\"text\" name=\"god_mesto\" size=\"65\" style=\"width: 350px\"> </td></tr>"
."<tr class=\"bgcolor1\"><td>"._sender_obr."</td><td><textarea name=\"sender_obr\" cols=\"65\" rows=\"3\" style=\"width: 350px\"></textarea></td></tr>"
."<tr class=\"bgcolor1\"><td>"._svyazi."</td><td><input type=\"text\" name=\"svyazi\" size=\"65\" style=\"width: 350px\"> </td></tr>"
."<tr class=\"bgcolor1\"><td>"._opit."</td><td><textarea name=\"opit\" cols=\"65\" rows=\"3\" style=\"width: 350px\"></textarea></td></tr>"
."<tr class=\"bgcolor1\"><td>"._doljnost."</td><td><input type=\"text\" name=\"doljnost\" size=\"65\" style=\"width: 350px\"> </td></tr>"
."<tr class=\"bgcolor1\"><td>"._sem."</td><td><input type=\"text\" name=\"sem\" size=\"65\" style=\"width: 350px\"> </td></tr>"
."<tr class=\"bgcolor1\"><td>"._rec."</td><td><textarea name=\"rec\" cols=\"65\" rows=\"3\" style=\"width: 350px\"></textarea></td></tr>"
."<tr class=\"bgcolor1\"><td>"._con."</td><td><textarea name=\"con\" cols=\"65\" rows=\"3\" style=\"width: 350px\"></textarea></td></tr>"
."<tr class=\"bgcolor1\"><td>"._S_MAIL."</td><td><input type=\"text\" name=\"sender_email\" value=\"$sender_email\" size=\"65\" style=\"width: 350px\"></td></tr>"

."<tr class=\"bgcolor1\"><td colspan=\"2\" align=\"center\"><input type=\"hidden\" name=\"op\" value=\"sys\"><input type=\"submit\" value=\""._S_SEND."\"></td></tr></form></table>";
if (
$_POST['op'] != "sys") {
    
OpenTable();
    echo
$form_block;
    
CloseTable();
} elseif (
$_POST['op'] == "sys") {
    
$sender_fio = $_POST['sender_fio'];
    
$god_mesto = $_POST['god_mesto'];
    
$sender_obr = $_POST['sender_obr'];
    
$svyazi = $_POST['svyazi'];
    
$opit = $_POST['opit'];
    
$doljnost = $_POST['doljnost'];
    
$sem = $_POST['sem'];
    
$rec = $_POST['rec'];
    
$con = $_POST['con'];
    
$sender_email = $_POST['sender_email'];
    
    if (
$sender_fio == "" OR $god_mesto == "" OR $sender_obr == "" OR $svyazi == "" OR $opit == "" OR $doljnost == "" OR $sem == "" OR $rec == "" OR $con == "" OR $sender_email == "") {
        
$send_error = "<center><font class=\"option\"><b>"._S_ERROR."</b></font></center>";
    }
    if (
$send_error == "") {
        
$to = "sdfsdf@sdfsfolg.ru";
        
$subject = "Отклик на вакансию";
        
$msg .= "Обязательные поля:\n\n";
        
$msg .= "Ф.И.О.: $sender_fio\n\n";
        
$msg .= "Год и место рождения: $god_mesto\n\n";
        
$msg .= "Образование (наименование учебного заведения, годы учебы, специальность, степень), владение иностранными языками: $sender_obr\n\n";
        
$msg .= "С руководством каких предприятий имеете наработанные связи: $svyazi\n\n";
        
$msg .= "Опыт работы (название и адрес организации, период, должность, обязанности): $opit\n\n";
        
$msg .= "Желаемая должность: $doljnost\n\n";
        
$msg .= "Семейное положение: $sem\n\n";
        
$msg .= "Рекомендации возможны от (указать ФИО, должность и контактные телефоны рекомендующего лица): $rec\n\n";
        
$msg .= "Контактная информация (страна, город, телефон, e-mail): $con\n\n";
        
        
$msg .= "E-Mail адрес для связи: $sender_email\n\n";
        
        
$mailheaders = "Content-Type: text/plain; charset="._CHARSET."\n";
        
$mailheaders .= "X-Priority: 3\n";
        
$mailheaders .= "From: \"$sender_fio\" <$sender_email>\n";
        
$mailheaders .= "Reply-To: $sender_email\n\n";
        
mail($to, $subject, $msg, $mailheaders);
        
OpenTable();
        echo
""._S_SENDED."";
        
CloseTable();
    } else {
        
warning($send_error, "", "", 1);
        
OpenTable();
        echo
$form_block;
        
CloseTable();
    }
}
        
OpenTable();
        
nav();
        
CloseTable();
        
foot();
        
}
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно otherside 16.03.2010 г. в 23:58:05
Serg_pnz Дата: 17.03.2010, в 11:34 | Сообщение №5
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2243

В млн-первый раз: что конкретно не получается???

Посмотри еще это

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
otherside Дата: 17.03.2010, в 11:40 | Сообщение №6
otherside
Старожил
Пользователь №: 22
Сообщений: 387

Не важно, заполнена форма или нет, нажимаем отправить. в адресной строке прописана ссылка вида http://www.******.com/index.php?name=Account&op=editdata, а отображается главная страница модуля Account. Естественно что письмо не отсылается.
xand Дата: 17.03.2010, в 17:56 | Сообщение №7
xand
Гость
Пользователь №: 1081
Сообщений: 1

Здравствуйте! Хочу сразу изввиниться перед модераторами, таких тем уже есть и не одна, но я не нашёл там ответа на свои вопросы. У меня 2 вопроса.
Вопрос №1: я сгенерировал форму обратной связи генератором (http://www.php-mail.ru/?id=6), сделал всё ка кнадо, выставил всё что нужно, получил 3 файла php на выходе. Но куда их теперь девать и вставлять для меня большая загадка. Попытался просто залить на фтп сайта, они там спокойно лежат и толку от них ноль...попробовал вставить код в html код странички, так же результата не добился...если не сложно подскажите по шагам что нужно и как сделать, желательно подробнее :)
Вопрос 2. Не получилось с генератором, я проштудировал несколько сайтов, нарыл несколько подобных форм, составил свою, составил файл php, всё вроде работает, но нужно добавить прикрепление файла(картинки)...подскажите это можно сделать к этой форме:
код который вставил в страничку
Код
1
<div>
<form action="getmail.php" method="post">
<p><span class="red">*</span> <strong>Название компании:</strong><br></p>
<p><input type="text" name="nick" size="30" /></p><br>
<p><span class="red">*</span> <strong>Ваш E-mail:</strong><br></p>
<p><input type="text" name="email" size="35" /></p><br>
<p><span class="red">*</span> <strong>Рубрика каталога:</strong></p>
<p><select name="rubrika">
<option>
<option> Видео
<option> Фотосъёмка
</select></p>
<br>
<p><span class="red">*</span> <strong>Адрес:</strong><br></p>
<p><textarea name="adres" cols="50" rows="2"></textarea>
<p><span class="red">*</span> <strong>Телефон:</strong><br></p>
<p><input type="text" name="telefon" size="30" /></p><br>
<p><span class="red">*</span> <strong>Анонс:</strong><br>
Краткое описание, которое будет отображаться в каталоге</p>
<p><textarea name="anons" cols="50" rows="6"></textarea>
<p><span class="red">*</span> <strong>Описание:</strong><br>
Расширенное описание, которое будет отображаться при нажатии на Ваше объявление</p>
<p><textarea name="opisanie" cols="50" rows="6"></textarea>
</a></p>
<p><input type="submit" value="Отправить анкету" id="submit_mail" /></p>
</form>
</div>

Залил на фтп файл с расширением php
Код
1
<?php
$url = "mail.htm";
$title = "СП";
$subject = "анкета регистрации $title";
$admail = "МОЙ АДРЕС";
$back = "<p><a href=\"javascript: history.back()\">Назад</a></p>";

if(@$_POST['nick'] or @$_POST['email'] or @$_POST['rubrika'] or @$_POST['anons'])
{
@$nick = $_POST['nick'] or die("Убедитесь, что вы ввели свое имя!$back");
@$email = $_POST['email'] or die("Убедитесь, что вы ввели свой E-mail!$back");
@$rubrika = $_POST['rubrika'] or die("Убедитесь, что вы выбрали Рубрику каталога!$back");
@$adres = $_POST['adres'] or die("Убедитесь, что вы ввели адрес!$back");
@$telefon = $_POST['telefon'] or die("Убедитесь, что вы ввели Телефон!$back");
@$anons = $_POST['anons'] or die("Убедитесь, что вы заполнили поле Анонс!$back");
@$opisanie = $_POST['opisanie'] or die("Убедитесь, что вы заполнили поле Описание!$back");



if(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
{
echo "Убедитесь, что вы ввели корректный E-mail!$back";
exit;
}

$content = "\nНазвание компании $nick!\n
E-mail: $email\n
Анкета регистрации с сайта - \"$title\"\n
Рубрика каталога: $rubrika
\nАдрес: $adres,
\nТелефон: $telefon,
\nАнонс: $anons,
\nОписание: $opisanie";
if(!@mail($admail, $subject, $content))
{
echo "Ошибка при отправке письма. Пожалуйста сообщите об этом администратору данного сайта, используя любой другой вид связи.$back";
exit;
}
else
{
echo "Ваше сообщение успешно отправлено!<Br> Вы получите ответ в ближайшее время ";
echo "<meta http-equiv=\"refresh\" content=\"1;URL=$url\">";
}
}
else {
die("Для отправки сообщения заполните все поля отмеченные звёздочками!$back");
}
?>

Всё работает, сообщение приходит на мыло. Так же ещё хотел спросить как можно сделать чтобы поля были не обязательны к заполнению, и при это если их пожелали заполнить в письме они не были пусты.
Заранее благодарю :)
otherside Дата: 23.03.2010, в 11:49 | Сообщение №8
otherside
Старожил
Пользователь №: 22
Сообщений: 387

Что касается моего вопроса, то отбой. Помогли мне решить эту проблему

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул


Генерация страницы: 0.059 сек. и 17 запросов к базе данных за 0.025 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.