ФорумПрограммированиеПыхнуть хотите?F.A.Q. → Отправка формы с сайта

Отправка формы с сайта

  • amromashov

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 октября 2008 г. 7:01

    Уважаемые пыхатели.
    Искал при помощи поиска, ничего не нашел на эту тему.
    Я сам себе делаю сайт, на нем по моим задумкам должна быть форма заказов с 4 полями: ФИО, мэил, телефон и текстовое поле "Пожелания" после нажатия на кнопку сабмит, все улетает на мой мэил. В php я далек, но если кто сможет помочь или у кого есть готовая форма, очень сильно прошу - ПОМОГИТЕ))) вот что нашел интересное, но не разабраться http://forum.htmlcode.ru/topic532.html
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 29 октября 2008 г. 7:41, спустя 40 минут 19 секунд

    да вот накидал:
    <?php

    header(&#39;Content-Type:text/html;charset=utf-8&#39;);

    /* НАСТРОЙКИ */

    // Куда отправляем (мыло)
    $to_mail = &#39;[email protected]&#39;;

    // Кому отправляем (имя)
    $to_name = &#39;INFO&#39;;

    /* —————- */

    function CheckEmail($email)
    {
    $p = &#39;/^[a-z0-9!#$%&amp;*+-=?^_`{|}~]+(\.[a-z0-9!#$%&amp;*+-=?^_`{|}~]+)*&#39;;
    $p.= &#39;@([-a-z0-9]+\.)+([a-z]{2,3}&#39;;
    $p.= &#39;|info|arpa|aero|coop|name|museum)$/ix&#39;;
    return (preg_match($p, $email));
    }

    $erorrs = array();

    $name = isset($_POST[&#39;name&#39;]) ? $_POST[&#39;name&#39;] : &#39;&#39;;
    $email = isset($_POST[&#39;email&#39;]) ? $_POST[&#39;email&#39;] : &#39;&#39;;
    $phone = isset($_POST[&#39;phone&#39;]) ? $_POST[&#39;phone&#39;] : &#39;&#39;;
    $text = isset($_POST[&#39;text&#39;]) ? $_POST[&#39;text&#39;] : &#39;&#39;;

    if (!empty($_POST)) {
    if (empty($name)) {
    $errors[] = &#39;Не заполнено поле «Имя»&#39;;
    }
    if (empty($text)) {
    $errors[] = &#39;Не заполнено поле «Сообщение»&#39;;
    }
    if (!CheckEmail($email)) {
    $errors[] = &#39;Не верно введён «E-mail»&#39;;
    }


    if (empty($errors)) {
    // Составляем тело сообщенияя:

    $text = &#39;
    <p><strong>ФИО:</strong> &#39; . $name . &#39;</p>
    <p><strong>E-mail:</strong> <a href=&quot;mailto:&#39; . $email . &#39;&quot;>&#39; . $email . &#39;</a></p>
    &#39; . (!empty($phone) ? &#39;<p><strong>Телефон:</strong> &#39; . $phone . &#39;</p>&#39; : &#39;&#39;) . &#39;
    <p><strong>Текст:</strong></p>
    <blockquote>&#39; . nl2br(htmlspecialchars($text)) . &#39;</blockquote>
    &#39;;

    $to_name = &quot;=?utf-8?B?&quot; . base64_encode($to_name) . &quot;?=&quot;;
    $from_name = &quot;=?utf-8?B?&quot; . base64_encode($name) . &quot;?=&quot;;

    $headers  = &quot;MIME-Version: 1.0\n&quot;;
    $headers .= &quot;From: {$from_name} <{$email}>\n&quot;;
    $headers .= &quot;Content-Type: text/html; charset=utf-8\n&quot;;
    $headers .= &quot;X-Mailer: PHP/&quot; . phpversion();

    $subject = &quot;Обратная связь с сайта&quot;;

    $subject = &quot;=?utf-8?B?&quot; . base64_encode($subject) . &quot;?=&quot;;

    mail(&quot;{$to_name} <{$to_mail}>&quot;, $subject, $text, $headers);


    $mail_sent = true;
    }
    }

    ?>





    <style type=&quot;text/css&quot;>
    * {
    font:12px tahoma,arial,serif;
    color:#333333;
    }
    label {
    display:block;
    font:14px georgia,arial,serif;
    color:navy;
    }
    input, textarea {
    background:#ededed;
    border:1px solid #dddddd;
    margin-bottom:10px;
    width:300px;
    display:block;
    }
    input.submit {
    width:auto;
    }
    strong, h3 {
    font-weight:bold;
    color:red;
    font-size:18px;
    }
    h3 {
    color:green;
    }
    ul {
    list-style-type:square;
    color:#333333;
    }
    </style>

    <?php
    if (!isset($mail_sent)) {
    if (!empty($errors)) {
    ?>
    <p><strong>Ошибки!!111</strong></p>
    <ul>
    <?php
    foreach ($errors as $e) {
    ?>
    <li><?php print $e; ?></li>
    <?php
    }
    ?>
    </ul>
    <?php
    }
    ?>
    <form action=&quot;&quot; method=&quot;post&quot; style=&quot;width:400px;&quot;>
    <label>ФИО *:</label>
    <input type=&quot;text&quot; name=&quot;name&quot; size=&quot;50&quot; value=&quot;<?php print htmlspecialchars($name); ?>&quot; />

    <label>E-mail *:</label>
    <input type=&quot;text&quot; name=&quot;email&quot; size=&quot;50&quot; value=&quot;<?php print htmlspecialchars($email); ?>&quot; />

    <label>Телефон:</label>
    <input type=&quot;text&quot; name=&quot;phone&quot; size=&quot;50&quot; value=&quot;<?php print htmlspecialchars($phone); ?>&quot; />

    <label>Текст:</label>
    <textarea name=&quot;text&quot; cols=&quot;40&quot; rows=&quot;5&quot;><?php print htmlspecialchars($text); ?></textarea>

    <input type=&quot;submit&quot; value=&quot;Отправить&quot; class=&quot;submit&quot; />
    </form>
    <?php
    }
    else {
    ?>
    <h3>Спасибо. Ваше сообщение ОТРАВЛЕНО!</h3>
    <?php
    }
    ?>
    все умрут, а я изумруд
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 29 октября 2008 г. 7:45, спустя 4 минуты 34 секунды

    хотел было перенести в другой раздел, ну раз уж тут создали, то оставлю, ибо ответ более чем развёрнутый и правильный )
    все умрут, а я изумруд
  • amromashov

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 октября 2008 г. 7:51, спустя 5 минут 9 секунд

    md5 спасибо! Ты мне уже не раз помогал))) отличный ты человек)
  • еrvlen

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 29 октября 2008 г. 12:50, спустя 4 часа 59 минут 42 секунды

    md5, Я тебя не узнаю… Ты вроде за то, что все делали сами
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 29 октября 2008 г. 13:00, спустя 10 минут 3 секунды

    стоит мне отвлечься, как мой кот начинает писать за меня на форуме!!!
    все умрут, а я изумруд
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 октября 2008 г. 13:09, спустя 8 минут 17 секунд


    md5, Я тебя не узнаю… Ты вроде за то, что все делали сами

    да, он такой!
    и он по прежнему невозмутим до охуения! =)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!