Форум русской поддержки Joomla!® CMS
11.12.2016, 15:57:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Создание анкеты (опроса)

 (Прочитано 221 раз)
0 Пользователей и 1 Гость смотрят эту тему.
resolute
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 17


« : 05.04.2016, 12:50:53 »

Всем привет!
Заморочка следующая: необходимо создать анкету-опросник, информация должна отправляться на email.
На локальном сервере создал в папке два файла: Form-anketa.html - содержит форму и resultat.php - обработчик, который получает переменные методом POST и через функцию mail() отправляет на нужный email.
Всё отрабатывается корректно.

Задача состоит, как перенести всё это действие в Joomla 3.0.

Мои действия:
1) Создал материал, вставил код из файла Form-anketa.html, сохранил.
2) Привязал материал к пункту меню. Форма на сайте отображается корректно.

Куда положить файл resultat.php и как правильно прописать адрес?
Код:
<form action="resultat.php" method="post" name="forms1">
Записан
White_Tiger
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 82


« Ответ #1 : 06.04.2016, 09:15:49 »

как вариант впихать обработчик в страницу анкеты. а далее...
if(isset($_request[xxx])) //выполняются команды обработчика
else //выводится форма анкеты
и с адресацией можно замутить уже навроде
<form action="<? $_SERVER['SCRIPT_NAME']?>" method=post>
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #2 : 06.04.2016, 09:41:53 »

На днях делал заглушку offline.php http://allstrike.ru (изменил стандартную Joomla при нажатой кнопке "Сайт закрыт".
Там использую запись без БД просто в текстовый файл аля (подписка об открытии/сбор имени+почта).
Не стал заморачиваться и выводить на оффлайн страницу Acymailling который присутствует в компонентах, сделал попроще, мне чисто список нужен.

Так вот, могу подсобить с этим, если приведёте форму и ТЗ распишите.
У меня так:есть форма(вы её можете хоть *** пунктов и типов) + PHP обработчик+текст файл для записи, иначе ложь или истина:или неверно или верно заполнено+спасибо.

Если вы просите просто код отправки, то вот например:

Код:
<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
        $name = htmlspecialchars($_POST['name']);
        $email = htmlspecialchars($_POST['email']);
        ///***** список ваших пунктов
        // $to - кому отправляем
        $to = 'admin@сайт.ru';
        // $from - от кого
        $from='admin@сайт.ru';
        // функция, которая отправляет наше письмо
        mail($to, $*title, $***** список ваших пунктов, 'From:'.$from);
        echo  include ("вызов страницы спасибо.php");
}
?>

В моём случае я ещё проверяю на валидность и заполненность:

Код:
if (!empty($name) && !empty($email))
{

if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{

можно ещё ограничение для вводимых полей.

Всё от формы зависит, функцию отправки почты я написал вам.
Если что не понятно-пишите, т.к. участками написал, думая что вы понимаете в этом.

Код:
       $name = htmlspecialchars($_POST['name']);
        $email = htmlspecialchars($_POST['email']);

Это для того, чтобы в полях не могли исполняемый php и HTML делать.

В дальнейшем будет подтверждение почты и только тогда запись (у вас+отправка), но это уже через БД, пока не придумал, как и в этом случае обойти БД, чтобы было полный портабл без привязки к ядру или иной СMS/
****************************
1.Вызываете форму ( в материале как у вас например):
<form action="new.php" method="post">
***тут форма***
</form>

2.Создаёте new.php и в него пихаете ваш функционал.

3.По усмотрению создаёте ответные письма/ссылки на материал на сайте, аля:(как у меня) неверный имейл, спасибо, отправка получилась и условиях new.php это прописываете(ответ/ссылки).
« Последнее редактирование: 06.04.2016, 09:58:41 от vipiusss » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet