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

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

Форма обратной связи

 (Прочитано 1072 раз)
0 Пользователей и 1 Гость смотрят эту тему.
doublemix
Новичок
*

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

Сообщений: 6


« : 24.04.2014, 09:49:00 »

Здравствуйте! Хотел сделать простенькую форму обратной связи исходя из предаставленного шаблона.
На главной странице, внизу имеется блок для обратной связи. Я создал форму через html-модуль. Вот ее код:
<form id="feedback-form" action="/index.php?Itemid=106" method="POST">
<p>Ваше имя:</p>
<input type="text" name="nameFF" />
<p>Телефон:</p>
<input type="text" name="contactFF" />
<p>Cообщение:</p>
<textarea name="messageFF" rows="5"></textarea> <input type="submit" value="отправить" /></form>
В файле  index.php моего шаблона прописал.
$name = htmlspecialchars($_POST["nameFF"]);
   $contact = htmlspecialchars($_POST["contactFF"]);
   $message = htmlspecialchars($_POST["messageFF"]);
   $email = "double@mail.ru";
   $email_t = "tesr@mail.ru";
   $from  = "From: $yourname <$email> \r\n Reply-To: $email_t \r\n";
   $message_to_myemail = "Здравствуйте!
      Вашей контактной формой было отправлено сообщение!
      Имя отправителя: $name
      Тел: $contact
      Текст сообщения: $message
      Конец";
   $tema="обратная форма";
   mail($email, $tema, $message_to_myemail, $from);

В итоге я перехожу по ссылке указанной в actione форме при нажатии отправить, но не письмо. В чем проблема?
Записан
artel-st
Давно я тут
****

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

Сообщений: 352


« Ответ #1 : 24.04.2014, 11:47:41 »

Показать текстовый блок
Записан
doublemix
Новичок
*

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

Сообщений: 6


« Ответ #2 : 24.04.2014, 17:49:42 »

Показать текстовый блок

Спасибо за ответ, но прежнему ситуация остается такой, я просто тупо перехожу на ту сраницу которая указана в action формы. Но не получаю письмо на указанную мной почту...
Еще раз хотелось бы уточнить те действия которые я делаю. Верстаю шаблон с псд. Там внизу страницы на главной есть форма обратной связи. Я сделал ее через html-модуль, вот ее код:
Код:
<form id="feedback-form" action="/index.php?Itemid=106" method="POST">
<p>Ваше имя:</p>
<input type="text" name="nameFF" />
<p>Ваш емаил:</p>
<input type="text" name="emailFF" />
<p>Телефон:</p>
<input type="text" name="contactFF" />
<p>Cообщение:</p>
<textarea name="messageFF" rows="5"></textarea> <input type="submit" name="report" value="отправить" /></form>
Затем в этом же файле index.php где я прописываю верстку для шаблона, я пишу теперь уже ваш код с учетом моих задач в <head>, вот как он выглядит:
Код:
<?php

$press = JRequest::getVar('report');//где 'report' атрибут name Вашей кнопки отправить
$name = JRequest::getVar('nameFF');
$email = JRequest::getVar('emailFF');
$contact = JRequest::getVar('contactFF');
$message = JRequest::getVar('messageFF');

    if (isset($press)) {
// используем API Joomla для отправки почты
$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$mailer->setSender($email);//адрес отправителя, того кто заполнил форму
$recipient = 'harleyhp@mail.ru';//адрес получателя, тоесть ко мне на почту должно придти письмо
$mailer->addRecipient($recipient);

$body   = 'Типа текст сообщения';
$mailer->setSubject('Типа заголовок письма');
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
$mailer->setBody($body);
$send = $mailer->Send();

if ( $send !== true ) {
// сообщение об ошибке, связанной с отправкой формы
} else {
// сообщение об успешной отправке формы
}
}
?>
Записан
artel-st
Давно я тут
****

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

Сообщений: 352


« Ответ #3 : 24.04.2014, 18:16:22 »

Для <form> задайте другое значение атрибута action

Код:
<form action="#" method="post">
или
Код:
<form action="<?php echo JURI::current(); ?>" method="post">
Записан
doublemix
Новичок
*

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

Сообщений: 6


« Ответ #4 : 25.04.2014, 10:16:38 »

Для <form> задайте другое значение атрибута action

Код:
<form action="#" method="post">
или
Код:
<form action="<?php echo JURI::current(); ?>" method="post">

Здравствуйте, я попробовал и так и эдак. Но ситуация остается прежней. При последнем варианте, при переходе начинает выдавать следующую ошибку:
Not Found

The requested URL /< was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Сам адрес страницы становится таким 
Код:
http://название сайта/<?php%20echo%20JURI::current();%20?>
А если поставить #, то в браузерной строке отображается http://название сайта/#

Начинают появляться подозрения, что проблема кроется в .htaccess
Только что там исправить или добавить не могу понять...
Записан
inetdelo
Захожу иногда
**

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

Сообщений: 14


« Ответ #5 : 21.05.2015, 17:16:46 »

Зачем Вы используете mail php? используйте api Joomla для отправки письма, тогда это будут проблемы Joomla или используйте нормальную форму AJAX, например, эту http://dev.inconver.com/joomla/contactform.html или RSForm тоже можно.
Записан
vlad@inconver
Новичок
*

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

Сообщений: 3


« Ответ #6 : 28.05.2015, 17:39:05 »

вот тут есть готовый модуль формы обратной связи http://dev.inconver.com/joomla/contactform.html Модуль гибкий и простой в настройках, работает на AJAX, есть возможность использовать маску номера телефона и placeholder.
Записан
Страниц: [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