Форма обратной связи на php

Форма обратной связи на php

Если вы хотите создать интернет магазин, то вам просто необходимо разместить форму обратной связи, чтобы люди могли отправлять сообщения администрации сайта. Обычно форма обратной связи располагается в разделе контакты..

Для отправки почтовых сообщений с сайта, пользователь должен заполнить стандартные текстовые поля (ФИО, e-mail, сообщение), и нажать на кнопку «отправить сообщение».

При нажатии на «отправить сообщение», происходит отправка формы, потом обработка отправленных данных, и отправка письма.

Вот скрипт обратной связи на php:

<?php

 

/**

 * Класс отправки почтовых сообщений функций mail()

 */

class Mail {

    //В переменной храним тип сообщения, обычный текст, или html

    private $_plain = "text/plain";  

 

    /**

     * Метод установки типа сообщения, если параметр $type = true, сообщение будет HTML,

     * если false, то обычный текст

     * @param <boolean> $type

     */

 

    public function isTypeHtml($is_html = true) {

        if ($is_html == true) {

            $this->_plain = "text/html";

        } else {

            $this->_plain = "text/plain";

        }

    }

 

    /**

     * Метод отправляет сообщение

     * @param string $to - e-mail, на который придет сообщение

     * @param <type> $to_name - Имя получателя

     * @param string $from - e-mail, с которого будет отправлено сообщение

     * @param <type> $from_name - Имя отправителя

     * @param string $subject - тема сообщения

     * @param <type> $message - сообщение

     * @return <type>

     */

    public function send($to, $to_name, $from, $from_name, $subject, $message) {

        //Делаем правильные заголовки, чтобы русский был русским, и т.д.

        $headers = "From: =?windows-1251?B?" . base64_encode($from_name) . "?= <$from>rn"; 

        $headers .= "To: =?windows-1251?B?" . base64_encode($to_name) . "?= <$to>rn";

        $headers .= "Subject: =?windows-1251?b?" . base64_encode($subject) . "?=rn";

        $headers .= "Content-type: $this->_plain; charset="windows-1251"rn";

        $headers .= "X-Mailer: mail";

   

        //Если сообщение отправлено, то возвращаем true

        if (mail($to, $subject, $message, $headers)) { 

            return true;

        }

        else return false; //Если возникли ошибки при отправке сообщений, то false

 

    }

 

}

 

if (isset($_POST["send"])) {

    $mail = new Mail(); //Создаем класс Mail

    $mail->isTypeHtml(false); //Ставим тип сообщения как обычный текст

    $message = "ФИО: " . $_POST["fio"] . "nr"; //Готовим само сообщение

    $message .= "email: " . $_POST["email"] . "nr";

    $message .= "Сообщение: " . $_POST["message"] . "nr";

 

    //Отправляем сообщение

    if ($mail->send("Адрес@Почты", "Имяотправить", "обратный"адрес", "Тема_письма",

                "Сообщение с сайта", $message)) {

        echo "<p>Сообшение успешно отправлено!</p>";

    } else {

        echo "<p>Возникли ошибки при отправке сообщения!</p>";

    }

}

?>

<form method="post" action="">

    <table cellpadding="2" cellspacing="0" border="0">

        <tbody>

            <tr>

                <td valign="middle" align="right">Фио:</td>

                <td valign="middle" align="left">

                    <input type="text" value="" name="fio" size="25" maxlength="255" />

                </td>

            </tr>

            <tr>

                <td valign="middle" align="right">E-mail:</td>

                <td valign="middle" align="left">

                    <input type="text" value="" name="email" size="25" maxlength="255" /><br/>

                </td>

            </tr>

            <tr>

                <td valign="top" align="right">Сообщение:</td>

                <td valign="middle" align="left">

                    <textarea name="message" rows="5" cols="30"></textarea>

                </td>

            </tr>

            <tr>

                <td valign="middle" align="right" colspan="2">

                    <input type="submit" value="Отправить" name="send" />

                </td>

            </tr>

        </tbody>

    </table>

</form>

Для отправки письма из php, мы использовали стандартную функцию mail. Помимо нее можно отправлять письмо по сокетам, но об этом в следующей статье.




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка