• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Форма дополнительных полей

droni4

Участник
Регистрация
21 Авг 2007
Сообщения
184
Реакции
8
Здравствуйте уважаемы!
Делал страницу с дополнительным полями все получилось только при получении на mail.ru тема и от кого отображается ромбами, проблема в кодировке только решить ее никак не могу подскажите пожалуйста...

2013-05-26_095020.png


/engine/modules/vopros.php
Код:
<?
 
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}
//загрузка шаблона
$tpl->load_template('vopros.tpl');
 
        //проверка корректрости е-майла
        function check_email($value) {
            return eregi( "^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $value );
        }
 
if ($_POST['f']==1)
{
$stop = "";
// --------------------------- конфигурирование -------------------------- //
$adminemail="burguyavto@mail.ru";  // емайл админа - кому отсылать
$date=date("d.m.Y"); // число.месяц.год
$time=date("H:i:s"); // часы:минуты:секунды
// ---------------------------------------------------------------------- //
 
// считываем данные формы:
 
$vin=$_POST['vin'];
$model=$_POST['model'];
$dvig=$_POST['dvig'];
$detal=$_POST['detal'];
$tel=$_POST['tel'];
$dopinf=$_POST['dopinf'];
$email=$_POST['email'];
 
 
        if( empty( $email ) ) {
            $stop .= $lang['feed_err_2'];
        } elseif( ! check_email( $email ) ) {
            $stop .= $lang['feed_err_3'];
        }
 
        if( $stop ) {
           
            msgbox( $lang['all_err_1'], "$stop<br /><br /><a href=\"javascript:history.go(-1)\">$lang[all_prev]</a>" );
       
        } else {
 
// отправка админу сообщения
$headers=null; // Настройки для отправки писем
$headers.="From: Вопрос с сайта <".$adminemail.">\r\n";
$headers.="X-Mailer: PHP/".phpversion()."\r\n";
$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"];
 
 
// Собираем всю информацию в теле письма
$allmsg="
VIN: $vin
Марка, модель, год выпуска авто: $model
Объем двигателя, мощность: $dvig
Требуемая деталь: $detal
 
Телефон клиента: $tel
Email клиента: $email
 
Дополнительные коментарии: $dopinf
 
...
 
* Это сообщение сгенерировано и отправлено роботом. Отвечать на него ненужно.";
 
// Отправляем письмо майлеру на съедение если разрешена отправка;-)
mail("$adminemail", "Вопрос с сайта буржуйавто.рф", $allmsg, $headers);
 
            $bronirovanie = "<br><center><b>Ваш запрос отправлен! В ближайшее время мы свяжемся с вами.</b></center><br>";
       
}
           
} else {
//сформируем форму
 
$vopros = "
<b style='color:#4678AA;'>Уважаемые посетители, чтобы составить запрос по интересующей вас детали (цене, наличии или срока поставки) необходимо:</b>
<br><br>
 
<FORM name='vopros' action='".$_SERVER['REQUEST_URI']."' method='post'>
 
 
<table>
    <tr>
        <td><b>1.</b> VIN номер (номер кузова):</td>
        <td><input type='text' name='vin' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>2.</b> Марка, модель, год выпуска авто:</td>
        <td><input type='text' name='model' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>3.</b> Объем двигателя, мощность:</td>
        <td><input type='text' name='dvig' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>4.</b> Требуемая деталь:</td>
        <td><input type='text' name='detal' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>5.</b> Ваш телефон:</td>
        <td><input type='text' name='tel' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>6.</b> Ваш email:</td>
        <td><input type='text' name='email' class='input-text' value='' /></td>
    </tr>
    <tr>
        <td><b>7.</b> Дополнительные коментарии:</td>
        <td><textarea name='dopinf' rows='' cols=''  value='' ></textarea></td>
    </tr>
</table>
 
 
    <input  name='submit' type='submit' class='btn' title='Отправить' value='Отправить' onclick='submit();return false;'>
    <input type='hidden' name='f' value='1'>
    <input type='hidden' name='adr' value='$adr'>
</FORM>";
 
}
            $tpl->set('{vopros}',$vopros);
            $tpl->compile( 'content' );
            $tpl->clear();
 
?>


/templates/Gemini/vopros.tpl
Код:
<h1 class="alltit">Вопросы и Ответы</h1>
{vopros}
<br><br>
<b>e-mail:</b> burguyavto@mail.ru<br>
<b>тел.:</b> (3452) 38-56-38, 38-56-28<br><br>
С удовольствием ответим на все интересующие вас вопросы!

как еще можно сделать что бы при отправке пользователю высвечивалось сообщение что ваше сообщение отправлено в ближайшее время наши сотрудники свяжутся с вами?
 
как еще можно сделать что бы при отправке пользователю высвечивалось сообщение что ваше сообщение отправлено в ближайшее время наши сотрудники свяжутся с вами?

можно messagebox вставить ;)

Код:
<input name='submit' type='submit' class='btn' title='Отправить' value='Отправить' onclick='submit();return confirm('Ваше сообщение отправлено!В ближайшее время наши сотрудники свяжутся с вами.');'>
 
Тема и отправитель должны шифроваться через base64 и указанием кодировки. Для отправки писем в ДЛЕ есть специальный класс maill.class.php, который генерирует корректный заголовок и делает все необходимые преобразования. Не нужно использовать функцию mail и самостоятельно генерировать заголовки - нужно использовать этот класс.
 
Тема и отправитель должны шифроваться через base64 и указанием кодировки. Для отправки писем в ДЛЕ есть специальный класс maill.class.php, который генерирует корректный заголовок и делает все необходимые преобразования. Не нужно использовать функцию mail и самостоятельно генерировать заголовки - нужно использовать этот класс.
не подскажете как в данном случае прикрутить maill.class.php ?
 
Не помню, подключает ли DLE где-то работу с почтой, но в общих чертах:

PHP:
include_once ENGINE_DIR . '/classes/mail.class.php';
$mail = new dle_mail( $config );

$mail->send("Кому", "Тема", "Сообщение" );
 
Назад
Сверху