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

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

  • amromashov

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

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

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

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

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

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

    header('Content-Type:text/html;charset=utf-8');

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

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

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

    /* —————- */

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

    $erorrs = array();

    $name = isset($_POST['name']) ? $_POST['name'] : '';
    $email = isset($_POST['email']) ? $_POST['email'] : '';
    $phone = isset($_POST['phone']) ? $_POST['phone'] : '';
    $text = isset($_POST['text']) ? $_POST['text'] : '';

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


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

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

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

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

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

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

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


    $mail_sent = true;
    }
    }

    ?>





    <style type="text/css">
    * {
    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="" method="post" style="width:400px;">
    <label>ФИО *:</label>
    <input type="text" name="name" size="50" value="<?php print htmlspecialchars($name); ?>" />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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