Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
1

attachments в форме обратной связи

01.03.2013, 10:04. Показов 1438. Ответов 1
Метки нет (Все метки)

Доброго дня!
Подскажите пожалуйста, как добавить возможность вложения к форме.
Точнее я кнопку добавил, но данные не грузится потому что скрипта нет.
HTML5
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
<form  action="mail.php" method="post">
<table>
<tr>
<td class="left">Наименование  :</td>
<td class="right"><input type="text" class="pole" name="name"></td></tr>
 
<tr>
<td class="left">Пункт  :</td>
<td class="right"><input type="text" class="pole" name="otprav"></td></tr>
 
<tr>
<td class="left">Пункт назначения:</td>
<td class="right"><input type="text" class="pole" name="naznach"></td></tr>
 
<tr>
<td class="left">Условия поставки:</td>
<td class="right"><input type="text" class="pole" name="uslov"></td></tr>
 
<tr>
<td class="left">Вес /брутто:</td>
<td class="right"><input type="text" class="pole" name="ves"></td></tr>
 
<tr>
<td class="left">Код ОКВЭД:</td>
<td class="right"><input type="text" class="pole" name="code"></td></tr>
 
<tr>
<td class="left">Наличие контракта:</td>
<td class="right"><input type="text" class="pole" name="contract"></td></tr>
 
<tr>
<td class="left-com">Комментарий:</td>
<td class="right-com"><textarea class="pole-com" name="comment" rows="2" cols="40"></textarea></td></tr>
 
</table>
<tr><td width=50%>File:</td><td align=right><input type=file name=mail_file maxlength=256></td></tr> 
<input type="submit" value="Отправить">
</form>
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
header('Refresh: 1; URL=http://ke77.h16.ru/');
 
/* Здесь мы проверяем существуют ли переменные, которые передала форма обратной связи. Если не существуют, то мы их создаем */
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['otprav'])) {$otprav = $_POST['otprav'];}
if (isset($_POST['naznach'])) {$naznach = $_POST['naznach'];}
if (isset($_POST['uslov'])) {$uslov = $_POST['uslov'];}
if (isset($_POST['ves'])) {$ves = $_POST['ves'];}
if (isset($_POST['code'])) {$code = $_POST['code'];}
if (isset($_POST['contract'])) {$contract = $_POST['contract'];}
if (isset($_POST['comment'])) {$comment = $_POST['comment'];}
 
$address = "bush88@inbox.ru";
 
/* Здесь вписуете тему, которая будет отображаться в теме письма */
$sub = "Заказ";
 
/* А здесь прописываете сам текст сообщения, который будет Вам отправлен. Если Вам необходимо начать новую строку необходимо поставить \n */
 
$mes = 
"Наименование груза: $name 
\nПункт отправления: $otprav 
\nПункт назначения: $naznach
\nУсловия поставки: $uslov
\nВес нетто/брутто: $ves
\nКод ТН ВЭД: $code
\nНаличие контракта: $contract
\nКомментарий: $comment
";
$EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
   $boundary     = "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.  
   $headers    = "MIME-Version: 1.0;$EOL";   
   $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
   $headers   .= "From: ".$komu_o;  
     
   $multipart  = "--$boundary$EOL";   
   $multipart .= "$ContentType charset=windows-1251$EOL"; 
$multipart .= "Content-Transfer-Encoding: base64$EOL";  
   $multipart .= $EOL; // раздел между заголовками и телом html-части 
$multipart .= chunk_split(base64_encode($text_o));   
 
   $multipart .=  "$EOL--$boundary$EOL";   
   $multipart .= "Content-Type: application/octet-stream; name=\"".'=?windows-1251?B?'.base64_encode($path).'?='."\"$EOL";   
   $multipart .= "Content-Transfer-Encoding: base64$EOL";   
   $multipart .= "Content-Disposition: attachment; filename=\"".'=?windows-1251?B?'.base64_encode($path).'?='."\"$EOL";   
   $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла 
   $multipart .= chunk_split(base64_encode($file));
 
   $multipart .= "$EOL--$boundary--$EOL";
 
 
/* А это функция, как раз занимается отправкой письма на указанный выше адрес */
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($send == 'true')
{
echo "Сообщение отправлено!";
}
else 
{
echo "Сообщение не отправлено!";
}
 
 
?><?php
header('Refresh: 1; URL=http://ke77.h16.ru/');
 
/* Здесь мы проверяем существуют ли переменные, которые передала форма обратной связи. Если не существуют, то мы их создаем */
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['otprav'])) {$otprav = $_POST['otprav'];}
if (isset($_POST['naznach'])) {$naznach = $_POST['naznach'];}
if (isset($_POST['uslov'])) {$uslov = $_POST['uslov'];}
if (isset($_POST['ves'])) {$ves = $_POST['ves'];}
if (isset($_POST['code'])) {$code = $_POST['code'];}
if (isset($_POST['contract'])) {$contract = $_POST['contract'];}
if (isset($_POST['comment'])) {$comment = $_POST['comment'];}
 
$address = "bush88@inbox.ru";
 
/* Здесь вписуете тему, которая будет отображаться в теме письма */
$sub = "Заказ";
 
/* А здесь прописываете сам текст сообщения, который будет Вам отправлен. Если Вам необходимо начать новую строку необходимо поставить \n */
 
$mes = 
"Наименование груза: $name 
\nПункт отправления: $otprav 
\nПункт назначения: $naznach
\nУсловия поставки: $uslov
\nВес нетто/брутто: $ves
\nКод ТН ВЭД: $code
\nНаличие контракта: $contract
\nКомментарий: $comment
";
$EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
   $boundary     = "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.  
   $headers    = "MIME-Version: 1.0;$EOL";   
   $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
   $headers   .= "From: ".$komu_o;  
     
   $multipart  = "--$boundary$EOL";   
   $multipart .= "$ContentType charset=windows-1251$EOL"; 
$multipart .= "Content-Transfer-Encoding: base64$EOL";  
   $multipart .= $EOL; // раздел между заголовками и телом html-части 
$multipart .= chunk_split(base64_encode($text_o));   
 
   $multipart .=  "$EOL--$boundary$EOL";   
   $multipart .= "Content-Type: application/octet-stream; name=\"".'=?windows-1251?B?'.base64_encode($path).'?='."\"$EOL";   
   $multipart .= "Content-Transfer-Encoding: base64$EOL";   
   $multipart .= "Content-Disposition: attachment; filename=\"".'=?windows-1251?B?'.base64_encode($path).'?='."\"$EOL";   
   $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла 
   $multipart .= chunk_split(base64_encode($file));
 
   $multipart .= "$EOL--$boundary--$EOL";
 
 
/* А это функция, как раз занимается отправкой письма на указанный выше адрес */
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($send == 'true')
{
echo "Сообщение отправлено!";
}
else 
{
echo "Сообщение не отправлено!";
}
 
 
?>
Помогите разобраться голову ломаю понять не могу, как мне сделать чтобы он грузил вложение как архив, либо docx,

В сети нашел только примеры по прикреплению jpg...

Добавлено через 17 часов 31 минуту
Я понимаю тема банальная, и в сети куча примеров.
Но могли бы вы мне подсказать ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2013, 10:04
Ответы с готовыми решениями:

Отправитель в форме обратной связи
Приветствую! Уважаемые знатоки, подскажите пожалуйста, как изменить адрес отправителя в форме...

Ошибки в форме обратной связи
Здравствуйте.Я пытаюсь создать простую форму обратной связи,но она не отправляет...

Радио кнопки в форме обратной связи
Здравствуйте. Постоянно пользуюсь данной формой для отправки письма, но теперь встал перед...

Css не привязывается к форме обратной связи
Всем доброго времени суток. Я новичок в сайтостроении )) сайт в html5 и css... на каждой странице...

1
0 / 0 / 1
Регистрация: 01.08.2013
Сообщений: 53
07.08.2014, 13:41 2
Может, так?
HTML5
1
2
<br />Прикрепить файл<br /> 
              <input name="attachfile" type="file" size="28">

PHP
1
2
3
4
5
6
 // если был файл, то прикрепляем его к письму 
        if(isset($_FILES['attachfile'])) { 
                 if($_FILES['attachfile']['error'] == 0){ 
                    $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); 
                 } 
        }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2014, 13:41

Подключение attach в форме обратной связи
Доброго времени суток. Дико извиняюсь за наверняка глупый вопрос, но своими силами решить не...

Как к форме обратной связи подключить reCAPTCHA?
Форма работает, письма с сайта приходят и я озадачился подключить reCAPTCHA... Просмотрел кучу...

Добавить прикрепление файла к форме обратной связи
Здравствуйте, 3 день пытаюсь понять куда и что нужно дописать для прикрепления файлов - не...

Как привязать email к форме обратной связи?
Нужно срочно привязать e-mail к форме, не знаю как это сделать. Подскажите пожалуйста &lt;form&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru