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

  • 6 Ответов
  • 1279 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

doublemix

  • Новичок
  • *
  • 6
  • 0
Форма обратной связи
« : 24.04.2014, 11: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

  • Давно я тут
  • ****
  • 352
  • 35
Re: Форма обратной связи
« Ответ #1 : 24.04.2014, 13:47:41 »
Спойлер
[свернуть]
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

doublemix

  • Новичок
  • *
  • 6
  • 0
Re: Форма обратной связи
« Ответ #2 : 24.04.2014, 19: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

  • Давно я тут
  • ****
  • 352
  • 35
Re: Форма обратной связи
« Ответ #3 : 24.04.2014, 20:16:22 »
Для <form> задайте другое значение атрибута action

Код
<form action="#" method="post">
или
Код
<form action="<?php echo JURI::current(); ?>" method="post">
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

doublemix

  • Новичок
  • *
  • 6
  • 0
Re: Форма обратной связи
« Ответ #4 : 25.04.2014, 12: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

  • Захожу иногда
  • **
  • 14
  • 0
Re: Форма обратной связи
« Ответ #5 : 21.05.2015, 18:16:46 »
Зачем Вы используете mail php? используйте api Joomla для отправки письма, тогда это будут проблемы Joomla или используйте нормальную форму AJAX, например, эту http://dev.inconver.com/joomla/contactform.html или RSForm тоже можно.

*

vlad@inconver

  • Новичок
  • *
  • 3
  • 0
Re: Форма обратной связи
« Ответ #6 : 28.05.2015, 18:39:05 »
вот тут есть готовый модуль формы обратной связи http://dev.inconver.com/joomla/contactform.html Модуль гибкий и простой в настройках, работает на AJAX, есть возможность использовать маску номера телефона и placeholder.