помогите с обратной связью

Тема в разделе "PHP Pro", создана пользователем ram222, 15 апр 2011.

Статус темы:
Закрыта.
  1. ram222

    ram222 Da Vinci

    Регистр.:
    27 апр 2009
    Сообщения:
    749
    Симпатии:
    73
    Есть вот такая обратная форма связи
    PHP:
    <div id="contentForm">
                <!-- The contact form starts from here-->
                <?php
                     $error    
    ''// СЃРѕРѕР±С‰РµРЅРёРµ РѕР± РѕС€РёР±РєРµ
                     
    $name     ''// РёРјСЏ РѕС‚правителя
                     
    $email    ''// email РѕС‚правителя
                     
    $subject  ''// С‚ема
                     
    $message  ''// СЃРѕРѕР±С‰РµРЅРёРµ
                        
    $spamcheck ''// РїСЂРѕРІРµСЂРєР° РЅР° СЃРїР°Рј
                
    if(isset($_POST['send']))
                {
                     
    $name     $_POST['name'];
                     
    $email    $_POST['email'];
                     
    $subject  $_POST['subject'];
                     
    $message  $_POST['message'];
                        
    $spamcheck $_POST['spamcheck'];
                    if(
    trim($name) == '')
                    {
                        
    $error '<div class="errormsg">ВВЕДИТЕ ИМЯ</div>';
                    }
                        else if(
    trim($email) == '')
                    {
                        
    $error '<div class="errormsg">ВВЕДИТЕ email!</div>';
                    }
                    else if(!
    isEmail($email))
                    {
                        
    $error '<div class="errormsg">НЕПРАВИЛЬНЫЙ  e-mail</div>';
                    }
                    else if(
    trim($message) == '')
                    {
                        
    $error '<div class="errormsg">ВВЕДИТЕ ТЕКСТ</div>';
                    }
                      else if(
    trim($spamcheck) == '')
                    {
                        
    $error '<div class="errormsg">ВВЕДИТЕ ОТВЕТ НА ВОПРОС</div>';
                    }
                      else if(
    trim($spamcheck) != '5')
                    {
                        
    $error '<div class="errormsg">ОТВЕТ НА ВОПРОС НЕВЕРЕН 2 + 3 = ???</div>';
                    }
                    if(
    $error == '')
                    {
                        if(
    get_magic_quotes_gpc())
                        {
                            
    $message stripslashes($message);
                        }
                        
    // РћР±СЏР·Р°С‚ельно СѓРєР°Р¶РёС‚Рµ Р·РґРµСЃСЊ Email РЅР° РєРѕС‚орый РґРѕР»Р¶РЅС‹ РїСЂРёС…одить РїРёСЃСЊРјР°
                        
    $to      "info@nevalit.ru";
                        
    // [Сообщение С‡РµСЂРµР· РєРѕРЅС‚актную С"РѕСЂРјСѓ] - С‚ема СЃРѕРѕР±С‰РµРЅРёСЏ - РјРѕР¶РµС‚Рµ РїРѕРјРµРЅСЏС‚СЊ РЅР° Р»СЋР±СѓСЋ.
                        
    $subject '[заказ расчёта столешницы] : ' $subject;
                        
    // СЃРѕРѕР±С‰РµРЅРёРµ 
                        
    $msg     "From : $name \r\ne-Mail : $email \r\nSubject : $subject \r\n\n" "Message : \r\n$message";
                        
    mail($to$subject$msg"From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
                
    ?>
                      <!-- РЎРѕРѕР±С‰РµРЅРёРµ РѕС‚правлено! (можете РїРѕРјРµРЅСЏС‚СЊ С‚екст)-->
                      <div style="text-align:center;">
                        <h1>сделано</h1>
                           <p><b><?=$name;?></b>, Ваш запрос отправлен на обработку,<br />в течении суток на ваш электронный адрес придёт расчёт столешницы, или мы свяжемся по телефону (еслы Вы его указали)<br />
                           <a href="kitchen-table-tops.php">обратно к столешницам из искусственного камня</a></p>
                      </div>
                      <!--End Message Sent-->
                <?php
                    
    }
                }
                if(!isset(
    $_POST['send']) || $error != '')
                {
                
    ?>
                <h1>&nbsp;</h1>
                <!--Error Message-->
                <?=$error;?>
                <form  method="post" name="contFrm" id="contFrm" action="">
                  <label><span class="required">*</span>Ваше Имя:</label>
                            <input name="name" type="text" class="box" id="name" size="30" value="<?=$name;?>" />
                     <label><span class="required">*</span> Email: </label>
                            <input name="email" type="text" class="box" id="email" size="30" value="<?=$email;?>" />
                     <label>телефон (не обязательно)</label>
                            <input name="subject" type="text" class="box" id="subject" size="30" value="<?=$subject;?>" />
                     <label><span class="required">*</span> запрос расчёта</label>
                             <textarea name="message" cols="40" rows="13"  id="message"><?=$message;?></textarea><br />
                     <label><span class="required">*</span> проверка на спам <b>2 + 3=</b></label>
                            <input name="spamcheck" type="text" class="box" id="spamcheck" size="4" value="<?=$spamcheck;?>" /><br /><br />
                            <!-- Submit Button-->
                             <input name="send" type="submit" class="button" id="send" value="отправить" />
                </form>
                <!-- E-mail verification. Do not edit -->
                <?php
                
    }
                function 
    isEmail($email)
                {
                    return(
    preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
                            
    ,$email));
                }
                
    ?>
                <!-- END CONTACT FORM -->
        </div></p>
         <hr />
      </div>
    на почту приходят кракозябры. В чём беда?
    И как сделать чтобы файл ещё прикрепить можно было?
     
  2. Xata6

    Xata6 Постоялец

    Регистр.:
    20 мар 2007
    Сообщения:
    84
    Симпатии:
    5
    Заюзай мою функцию и будет тебе счастье
    function sendEmail($name,$email,$recipient,$subject,$mail_body){
    $name="Имя Йожика";
    $email="support@yozhik.com";#"office_telcom@mail.ru";
    $name="=?utf-8?B?".base64_encode($name)."?=";
    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $header .= 'Content-Transfer-Encoding: 8bit' . "\r\n";
    $header .= "From: ". $name . " <" . $email . ">\r\n";
    $header .= "Reply-To: ". $name . " <" . $email . ">\r\n";
    $header .= "Return-Path: ". $name . " <" . $email . ">\r\n";
    $subject="=?utf-8?B?".base64_encode($subject)."?=";
    $m=mail($recipient, $subject, $mail_body, $header);
    if ($m){return TRUE;}else {return FALSE;}
    }
     
  3. ram222

    ram222 Da Vinci

    Регистр.:
    27 апр 2009
    Сообщения:
    749
    Симпатии:
    73
    А может есть у кого рабочая форма отправки с аттачем?
     
  4. steel_HILL

    steel_HILL Постоялец

    Регистр.:
    15 апр 2010
    Сообщения:
    53
    Симпатии:
    14
    Формы к сожалению нет, а вот отправка есть :)


    отправка письма с вложением (attach)

    <?php

    $to='example@mail.ru';
    $text='текст';
    $thm='тема';

    //файл
    $path='example.txt';

    $file = file_get_contents($path);

    // генерируем разделитель
    $boundary = "--".md5(uniqid(time()));

    $headers .= "MIME-Version: 1.0\n";
    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    $multipart .= "--$boundary\n";

    //кодировка
    $kod = 'utf-8';
    $multipart .= "Content-Type: text/plain; charset=$kod\n";
    $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    $multipart .= "$text\n\n";

    $message_part = "--$boundary\n";
    $message_part .= "Content-Type: application/octet-stream\n";
    $message_part .= "Content-Transfer-Encoding: base64\n";
    $message_part .= "Content-Disposition: attachment; filename = \"$path\"\n\n";
    $message_part .= chunk_split(base64_encode($file))."\n";
    $multipart .= $message_part."--$boundary--\n";

    if(!mail($to, $thm, $multipart, $headers))
    {
    exit("К сожалению, письмо не отправлено");
    }

    ?>
     
Статус темы:
Закрыта.