С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 05.02.2013
Сообщений: 150
1

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

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

Author24 — интернет-сервис помощи студентам
Доброго дня!
Подскажите пожалуйста, как добавить возможность вложения к форме.
Точнее я кнопку добавил, но данные не грузится потому что скрипта нет.
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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.03.2013, 10:04
Ответы с готовыми решениями:

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

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

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

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

1
1 / 1 / 1
Регистрация: 01.08.2013
Сообщений: 70
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
07.08.2014, 13:41
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2014, 13:41
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru