Показать сообщение отдельно
  #1 (permalink)  
Старый 25.03.2016, 19:26
Интересующийся
Отправить личное сообщение для Ingener Посмотреть профиль Найти все сообщения от Ingener
 
Регистрация: 26.12.2015
Сообщений: 20

Отправка формы при каждом обновлении страницы
Помогите пожалуйста разобраться. пишу простенький модуль для joomla обратной связи,

вроде работает и сообщения выводит - но срабатывает сразу при загрузке сайта и каждый раз при обновлении страницы.

js вообще не использовал, все на php и фреймворке Joomla

Это у меня ошибка в коде или дело в том что нет проверки на заполненность формы? Но все равно можно сделать чтобы даже без проверки форма сама не срабатывала, а тока при нажатии кнопки работала?

Вот код default.php из папки tmpl

Код:
<?php
// No direct access
defined( '_JEXEC' ) or die;

?>
<div id="scform"class="module<?php echo $moduleclass_sfx; ?>">
<form id="form" action="" method="POST">
<H3>Форма обратной связи</H3>
<div id="result"></div>
<div id="fields">
	<p><input type="text" name="name" id="text" placeholder="Имя"> <label for="text">Как вас зовут</label></p>
	<p><input type="email" name="email" id="email" placeholder="E-mail"> <label for="email">Ваша почта</label></p>
	<p><input type="text" name="tel" id="tel" placeholder="Телефон"> <label for="tel">Ваш телефон</label></p>
	<p><textarea name="message" cols="30" rows="10" id="message" placeholder="Введите сюда текст сообщения"></textarea></p>
	<p><button type="submit" id="submit" class="go">Отправить сообщение</button></p>
</div>
</form>
	</div>
Вот обработчик - он в отдельном файле php

Код:
$mail = '<p>Сообщение от: <b>'.$name.'</b> <br> Телефон: <b>'.$tel.'</b> <br> Сообщение: <br> '.$message.'</p>';
 
$mailer->setSubject( 'Письмо с Вашего сайта' );
$mailer->setBody($mail);
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
 
$send = $mailer->Send();
if ( $send !== true ) {
    echo 'Error sending email: ' . $send->__toString();
} else {
    echo 'Mail sent';
}
 
 
require_once( dirname( __FILE__ ). '/helper.php' );
$moduleclass_sfx = htmlspecialchars( $params->get( 'moduleclass_sfx' ) );
require( JModuleHelper::getLayoutPath( 'mod_contact', $params->get( 'layout', 'default' ) ) );
Ответить с цитированием