Best-club - портал хорошего настроения!
→◊ Библиотека ◊←
Меню сайта
  • Драмы
  • Ужасы
  • Фэнтези
  • Боевики
  • Мистика
  • Комедии
  • Триллеры
  • Мелодрамы
  • Фантастика
  • Мультфильмы
  • Приключения
  • Связь с админом
  • Список пользователей
  • Полная статистика сайта
  • ТОП наград
  • Переводчик
  • Конвертер величин
  • Проверка правописания
  • Раздача ICQ
  • Оставить отзыв о сайте
  • Раскрутка сайтов

  • Поиск по сайту
    Введите ключевое слово
    для поиска



    Статистика сайта




    ProfiSmart TOP webgari.com Рейтинг сайтов

    Каталог сайтов

    bodr_top
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Зарегистрировано:
    Всего: 1117
    Парней: 1070
    Девушек: 47
    Последний: molodoo

    Облако тегов
    Важная информация
    Главная » Статьи » Wap/Web Мастеру » PHP, Perl, ASP

    Автоматическая отправка данных по электронной почте
    Вывести пользовательские данные в браузере несложно, но вряд ли это можно назвать содержательной обработкой пользовательского ввода. Один из способов обработки информации заключается в ее отправке по электронной почте - например, администратору сайта. Хотя при помощи гиперссылки mailto: можно отправить сообщение прямо из браузера, следует учитывать, что внешние приложения электронной почты настроены не на каждом компьютере. Следовательно, отправка сообщений с web-формы более надежно гарантирует, что сообщение будет доставлено адресату.

    В следующем разделе, mail( ), создается небольшая форма, в которой пользователь вводит информацию и комментарии по поводу сайта. Затем данные форматируются соответствующим образом и передаются стандартной функции РНР mail( ). Но прежде чем переходить к построению формы, необходимо предварительно рассмотреть синтаксис функции mail( ).

    mail ( )

    Функция mail( ) отправляет сообщение заданному адресату по электронной почте. Синтаксис функции mail( ):

    boolean mail (string получатель, string тема, string сообщение [, string доп_заголовки])

    В параметре тема, как нетрудно предположить, передается тема сообщения. Параметр сообщение содержит текст сообщения, а необязательный параметр доп_за головки предназначен для включения дополнительной информации (например, атрибутов форматирования HTML), пересылаемой с сообщением.

    В системе UNIX функция mail( ) использует утилиту sendmail. В Windows эта функция работает лишь при наличии установленного почтового сервера или если функция mail( ) связана с работающим сервером SMTP. Эта задача решается модификацией переменной SMTP в файле php.ini.

    Если вы сделали все необходимое и функция mail( ) работает в вашей системе, попробуйте выполнить следующий фрагмент (конечно, адрес youraddress@yourserver.com заменяется вашим настоящим адресом электронной почты):

    $email = "youraddress@yourserver.com";

    $subject = "This is the subject";

    $message = "This is the message";

    $headers = "From: somebody@somesite.com";

    mail ($email, $subject, $message, $headers);

    Хотя при обширной переписке, конечно, следует использовать специализированные почтовые программы вроде majordomo (http://www.greatcircle.com/majordomo), в простых случаях функции РНР mail( ) оказывается вполне достаточно.

    Итак, после знакомства с функцией mail( ) можно применить ее на практике. В листинге 10.5 показано, как получить информацию от пользователя и отправить ее по адресу, заданному администратором сценария.

    Листинг 10.5. Пересылка пользовательских данных функцией mail( )

    <html>
    <head>
    <title>Listing 10-5</title>
    </head>
    <body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="#808040">
    // Все кавычки внутри $form должны экранироваться.
    // в противном случае произойдет ошибка.
    $form = "
    <form action="listing10-5.php" method="post">
    <input type="hidden" name="seenform" value="y">
    <b>Send us your comments!</b><br>
    Your Name:<br>
    <input type="text" name="name" size="20" maxlength="20" value=""><br>
    Your Email:<br>
    <input type="text" name-"email" size="20" maxlength="40" value=""><br>
    Your Comments:<br>
    <textarea name="comments" rows="3" cols="30"></textarea><br>
    <input type="submit" value="submit!">
    </form>
    // Если форма ранее не отображалась, отобразить ее.
    // Для проверки используется значение скрытой переменной $seenform.
    if ($seenform != "у") :
    print "$form"; else :
    // Переменная $recipient определяет получателя данных формы
    $recipient = "yourname@youremail.com";
    // Тема сообщения
    $subject = "User Comments ($name)";
    // Дополнительные заголовки $headers = "From: $email";
    // Отправить сообщение или выдать сообщение об ошибке
    mail($recipient, $subject, $comments, $headers) or die("Could not send email!");
    // Вывести сообщение для пользователя
    print "Thank you $name for taking a moment to send us your comments!";
    endif;
    ?>
    </body>
    </html>

    Неплохо, правда? Листинг 10.5 работает так же, как листинг 10.4; сначала мы проверяем, отображалась ли форма ранее. Если это происходило, программа вызывает функцию mail( ) и пользовательские данные отправляются по адресу, определяемому переменной $recipient. Затем в браузере выводится благодарственное сообщение для пользователя.

    Простейшим расширением этого примера будет отправка благодарственного сообщения по электронной почте (вторым вызовом mail( )). Следующий пример развивает эту идею - пользователю предлагается на выбор несколько бюллетеней. Выбранные бюллетени отправляются по электронной почте.  


    Категория: PHP, Perl, ASP | Добавил: Admin | Дата: 06.09.2009 | Просмотры: 913 | Рейтинг:
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Вход на сайт
    Гость, добро пожаловать на best-club! Тапки в углу, пиво в холодильнике. Располагайся:) Для получения большего комфорта войди как пользователь или зарегистрируйся.



    Обмен музыкой [?]
    Открыть в новом окне

    Партнёры





    Опрос

    Что бы Вы хотели видеть на нашем сайте в большем количестве?
    Всего ответов: 36

     
    Best-club team © 2008 - 2024

    SiteMap Партнёры и друзья Поддержать проект
    Третий Мир: Война Королей - Форум
    Администрация сайта не несёт ответственности за материалы опубликованные на сайте! Все материалы исключительно для ознакомления!
    Мини профиль