Medik 6 Опубликовано: 11 декабря 2009 Рассказать Опубликовано: 11 декабря 2009 (изменено) Понадобилось для одного сайта. Почти всё взято отсюда: http://www.php-mail.ru/?id=4 Может кому то пригодится. Код: <?php function show_form() { ?> <form method="post" enctype="multipart/form-data" name="sendmail" onsubmit="if(document.sendmail.contact_name.value == '' || document.sendmail.contact_phone.value == ''){alert('Пожалуйста, заполните все обязательные поля');return false}" action=""> <table width="100%" class="slink"> <tr> <td align="left"><font color="#FF0000">*</font> Фамилия, Имя, Отчество:</td> </tr> <tr> <td align="left"><input name="contact_name" type="text" class="f_input" /></td> </tr> <tr> <td align="left"><br /> <font color="#FF0000">*</font> Телефон:</td> </tr> <tr> <td align="left"><input name="contact_phone" type="text" class="f_input" /></td> </tr> <tr> <td align="left"><br />Прайс лист с заказом:</td> </tr> <tr> <td align="left"><input name="attachfile" type="file" size="45" /> </td> </tr> <tr> <td align="left"><br />Адрес:</td> </tr> <tr> <td align="left"><input name="contact_adress" type="text" class="f_input" /></td> </tr> <tr> <td align="left"><br />E-mail:</td> </tr> <tr> <td align="left"><input name="contact_email" type="text" class="f_input" /></td> </tr> <tr> <td align="left"><br />Сообщение:</td> </tr> <tr> <td align="left"><textarea name="contact_message" rows="5" class="f_textarea"></textarea></td> </tr> <tr> <td align="left"><br /> <font color="#FF0000">Внимание: Поля помеченные <strong>*</strong> обязательны для заполнения</font><br /><br /> <input type="submit" value="Отправить" name="submit"></td> </tr></table> </form> <? } function complete_mail() { $contact_name = substr(htmlspecialchars(trim($_POST['contact_name'])), 0, 1000); $contact_phone = substr(htmlspecialchars(trim($_POST['contact_phone'])), 0, 1000); $contact_adress = substr(htmlspecialchars(trim($_POST['contact_adress'])), 0, 1000); $contact_email = substr(htmlspecialchars(trim($_POST['contact_email'])), 0, 1000); $contact_message = substr(htmlspecialchars(trim($_POST['contact_message'])), 0, 1000); $message = 'Поступил новый заказ с сайта<br /><br /> Фамилия, Имя, Отчество: '.$contact_name.'<br /> Телефон: '.$contact_phone.'<br /> Адрес: '.$contact_adress.'<br /> E-mail: '.$contact_email.'<br /> Сообщение: '.$contact_message; require 'class.phpmailer.php'; $mail = new PHPMailer(); $mail->From = 'мыло@mail.ru'; $mail->FromName = 'Сайт Название'; $mail->AddAddress('мыло@mail.ru', 'Сайт Название'); $mail->IsHTML(true); $mail->Subject = 'Новый заказ с сайта Название'; if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){ $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); } } $mail->Body = $message; // отправляем наше письмо if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo); echo '<br /><div class="news"><strong>Спасибо.<br />Ваш заказ отправлен.<br />В ближайшее время мы свяжемся с Вами.</strong></div>'; } if (!empty($_POST['submit'])) complete_mail(); else show_form(); ?> Пишем в коде нужные адреса и тексты. Если нужно меняем поля и.т.п. Сохраняем как order.php в папку modules. Скачиваем http://www.php-mail.ru/class.phpmailer.zip распаковываем 2 файла и кидаем туда же. Подключаем order.php в шаблон main.tpl [category=Номер категории где нужно показать модуль]{include file="order.tpl"}[/category] Можно добавить в категорию новость с текстом, который будет описывать форму. Изменено 11 декабря 2009 пользователем Medik 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 12 декабря 2009 Рассказать Опубликовано: 12 декабря 2009 Очень и очень хорошая форма! Благодарю, именно то что искал. Единственное, что лично мне надо, чтобы это было как статическая страница, я добавил в engine.php case "order" : include ENGINE_DIR.'/modules/order.php'; break; Может кто подсказать, как её встроить, чтобы например при открытии http://сайт.ру/index.php?do=order Открывалась страница как обратная связь (встроенная в дизайн) http://сайт.ру/index.php?do=feedback ? напишите тут или в приват Цитата Ссылка на сообщение Поделиться на других сайтах
sabas 0 Опубликовано: 12 декабря 2009 Рассказать Опубликовано: 12 декабря 2009 так же хотелось бы поблагодарить автора , огромный респект Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 12 декабря 2009 Рассказать Опубликовано: 12 декабря 2009 Может кто подсказать, как её встроить, чтобы например при открытии http://сайт.ру/index.php?do=order Открывалась страница как обратная связь (встроенная в дизайн) http://сайт.ру/index.php?do=feedback ? напишите тут или в приват Обратитесь к документации по скрипту, там между прочим об этом подробно написано http://dle-news.ru/extras/online/index.html?modules_include.html Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 13 декабря 2009 Рассказать Опубликовано: 13 декабря 2009 Разобрался. Теперь появился другой вопрос, как правильно сделать, чтобы письмо приходило на несколько почтовых ящиков? Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 14 декабря 2009 Рассказать Опубликовано: 14 декабря 2009 Автор Разобрался. Теперь появился другой вопрос, как правильно сделать, чтобы письмо приходило на несколько почтовых ящиков? Повторите $mail = new PHPMailer(); $mail->From = 'мыло@mail.ru'; $mail->FromName = 'Сайт Название'; $mail->AddAddress('мыло@mail.ru', 'Сайт Название'); $mail->IsHTML(true); $mail->Subject = 'Новый заказ с сайта Название'; if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){ $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); } } $mail->Body = $message; Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 15 декабря 2009 Рассказать Опубликовано: 15 декабря 2009 И ещё раз благодарю Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 15 декабря 2009 Рассказать Опубликовано: 15 декабря 2009 (изменено) И ещё раз благодарю Хотя не получилось, сделав такой код $mail = new PHPMailer(); $mail->From = 'мыло@mail.ru'; $mail->FromName = 'Сайт Название'; $mail->AddAddress('МЫЛО1@mail.ru', 'Сайт Название'); $mail->IsHTML(true); $mail->Subject = 'Новый заказ с сайта Название'; if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){ $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); } } $mail->Body = $message; $mail = new PHPMailer(); $mail->From = 'мыло@mail.ru'; $mail->FromName = 'Сайт Название'; $mail->AddAddress('МЫЛО2@mail.ru', 'Сайт Название'); $mail->IsHTML(true); $mail->Subject = 'Новый заказ с сайта Название'; if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){ $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); } } $mail->Body = $message; // отправляем наше письмо if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo); echo '<br /><div class="news"><strong>Спасибо.<br />Ваш заказ отправлен.<br />В ближайшее время мы свяжемся с Вами.</strong></div>'; } if (!empty($_POST['submit'])) complete_mail(); else show_form(); ?> Письмо приходит только на МЫЛО2@mail.ru Изменено 15 декабря 2009 пользователем Aleko Цитата Ссылка на сообщение Поделиться на других сайтах
abasive 41 Опубликовано: 15 декабря 2009 Рассказать Опубликовано: 15 декабря 2009 Письмо приходит только на МЫЛО2@mail.ru попробуйте добавить рядом несколько адресов, где МЫЛО@mail.ru Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 16 декабря 2009 Рассказать Опубликовано: 16 декабря 2009 $mail = new PHPMailer(); $mail->From = 'мыло@mail.ru'; $mail->FromName = 'Сайт Название'; $mail->AddAddress('МЫЛО1@mail.ru', 'МЫЛО2@mail.ru', 'Сайт Название'); $mail->IsHTML(true); $mail->Subject = 'Новый заказ с сайта Название'; if(isset($_FILES['attachfile'])) { if($_FILES['attachfile']['error'] == 0){ $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']); } } $mail->Body = $message; // отправляем наше письмо if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo); echo '<br /><div class="news"><strong>Спасибо.<br />Ваш заказ отправлен.<br />В ближайшее время мы свяжемся с Вами.</strong></div>'; } if (!empty($_POST['submit'])) complete_mail(); else show_form(); ?> Не помогло, письмо приходит только на МЫЛО1@mail.ru Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 16 декабря 2009 Рассказать Опубликовано: 16 декабря 2009 Скорее всего не так: $mail->AddAddress('МЫЛО1@mail.ru', 'МЫЛО2@mail.ru', 'Сайт Название'); а так: $mail->AddAddress('МЫЛО1@mail.ru, МЫЛО2@mail.ru', 'Сайт Название'); Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 17 декабря 2009 Рассказать Опубликовано: 17 декабря 2009 $mail->AddAddress('МЫЛО1@mail.ru, МЫЛО2@mail.ru', 'Сайт Название'); Только на МЫЛО1@mail.ru приходит Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 17 декабря 2009 Рассказать Опубликовано: 17 декабря 2009 $mail->AddAddress('МЫЛО1@mail.ru, МЫЛО2@mail.ru', 'Сайт Название'); Только на МЫЛО1@mail.ru приходит Я ОШИБСЯ!!! письмо на второй ящик пришло, но только с задержкой в несколько минут, повторно проверив пришло сразу на оба. Я счастлив, спасибо всем кто принял участи Цитата Ссылка на сообщение Поделиться на других сайтах
Aleko 1 Опубликовано: 18 декабря 2009 Рассказать Опубликовано: 18 декабря 2009 Поражаюсь, как быстро спамеры до неё добрались. Новый вопрос. Как правильно вставить каптчу? Цитата Ссылка на сообщение Поделиться на других сайтах
killerok 0 Опубликовано: 27 марта 2010 Рассказать Опубликовано: 27 марта 2010 ЧТо-то не получилось встроить ее как модуль для dle, по адресу index.php?do=order не открывается Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 27 марта 2010 Рассказать Опубликовано: 27 марта 2010 Автор ЧТо-то не получилось встроить ее как модуль для dle, по адресу index.php?do=order не открывается Внимательно прочтите инструкцию. Каждое слово и строчку. Цитата Ссылка на сообщение Поделиться на других сайтах
scanread 0 Опубликовано: 28 марта 2010 Рассказать Опубликовано: 28 марта 2010 Подключаем order.php в шаблон main.tpl [category=Номер категории где нужно показать модуль]{include file="order.tpl"}[/category] Можно добавить в категорию новость с текстом, который будет описывать форму. Цитата Ссылка на сообщение Поделиться на других сайтах
killerok 0 Опубликовано: 31 марта 2010 Рассказать Опубликовано: 31 марта 2010 ЧТо-то не получилось встроить ее как модуль для dle, по адресу index.php?do=order не открывается Внимательно прочтите инструкцию. Каждое слово и строчку. Я именно так и сделал и понял что это не модуль! Что бы работал модуль нужно как минимум подгрузить ему шаблон, а не инклюдить в tpl файл. Я бы хотел что бы он работал как нормальный модуль по адресу /index.php?do=add Цитата Ссылка на сообщение Поделиться на других сайтах
Medik 6 Опубликовано: 31 марта 2010 Рассказать Опубликовано: 31 марта 2010 Автор ЧТо-то не получилось встроить ее как модуль для dle, по адресу index.php?do=order не открывается Внимательно прочтите инструкцию. Каждое слово и строчку. Я именно так и сделал и понял что это не модуль! Что бы работал модуль нужно как минимум подгрузить ему шаблон, а не инклюдить в tpl файл. Я бы хотел что бы он работал как нормальный модуль по адресу /index.php?do=add Адрес вы можете средиректить в .htaccess И вообще, что за претензии, хотите сделать в виде модуля - сделайте. Инструкций как подключать модули в DLE в сети предостаточно. Цитата Ссылка на сообщение Поделиться на других сайтах
_Sedoy_ 0 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 Народ, такое дело, написал форму обратной связи ордер.пхп и онлайн_ордер.тпль привязывал в енджине.пхп капча работает, на мыло отправляет только имя отправителя и текст, а остальные поля не отправляет, кто подскажет, что не так я сделал, помоги плз... Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 Народ, такое дело, написал форму обратной связи ордер.пхп и онлайн_ордер.тпль привязывал в енджине.пхп капча работает, на мыло отправляет только имя отправителя и текст, а остальные поля не отправляет, кто подскажет, что не так я сделал, помоги плз... Откуда мы можем знать что вы не так сделали. Но судя по всему не добавили содержание полей к тексту письма. Ссылка на сайт? Цитата Ссылка на сообщение Поделиться на других сайтах
_Sedoy_ 0 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 avex.tomsk.ru может мне сюда выложить код содержащий в ордер.пхп и ордер.тпль?Кнопка - Online заявка Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 Нелегальная копия скрипта! Обязательно прочитайте разъясняющую тему: http://forum.dle-news.ru/index.php?showannouncement=1&f=46 Цитата Ссылка на сообщение Поделиться на других сайтах
_Sedoy_ 0 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 Ну не сносить же мне весь сайт теперь... это значит, что мне отказано в помощи? Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 623 Опубликовано: 23 апреля 2010 Рассказать Опубликовано: 23 апреля 2010 (изменено) Ну не сносить же мне весь сайт теперь... это значит, что мне отказано в помощи? Можно не сносить, купите лицензию. DLE платный двиг, у вас ворованная версия, а вы имеете наглость обращаться на офф.форум разработчика, вам тут помогать ни кто не будет, могут и забанить. Изменено 23 апреля 2010 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.