Задать вопрос
Ответы пользователя по тегу PHP
  • Как настроить phpmailer для отправки данных из сложной формы?

    ReenaFuro
    @ReenaFuro
    Веб, игры, софт, социальный инженеринг
    Привет. Я начинающая программер, но сама юзаю нечто похожее на сайте
    web.furofamily.com/Realia-Real-Eastate
    это магазин готовых сайтов, корзины нет.

    1. клиент отмечает и заполняет обязательные поля, иначе - алерт red mess
    2. клиент кликает на отправить заказ (green mess) - все приходит мне на мыло, указанное в моем файле cmd_sendmail.php:
    <?

    global $EMAIL,$TEL,$COLOR,$FULLSKREEN,$ISTZ,$MEDIAFAQ,$HOSTING,$DOMEN,$MEDIADM,$EDUCATION,$PGID;
    global $m_conf;
    $PGID = (int)$PGID;
    $rm='';

    include_once("cls/tsendmail.php");
    $mail = new TSendmail();
    #if(!$mail->ValidEmail($email)){$rm .= "Укажите корректный e-mail";}
    if (!$EMAIL) $rm .= " укажите e-mail
    ";
    if (!$TEL) $rm .= " укажите телефон
    ";
    if($rm) $this->red_mess .="Пожалуйста,".$rm;
    if($FULLSKREEN) $FULLSKREEN="Да"; else $FULLSKREEN="Нет";
    if($ISTZ) $ISTZ="Да"; else $ISTZ="Нет";
    if($MEDIAFAQ) $MEDIAFAQ="Да"; else $MEDIAFAQ="Нет";
    if($HOSTING) $HOSTING="Да"; else $HOSTING="Нет";
    if($DOMEN) $DOMEN="Да"; else $DOMEN="Нет";
    if($MEDIADM) $MEDIADM="Да"; else $MEDIADM="Нет";
    if($EDUCATION) $EDUCATION="Да"; else $EDUCATION="Нет";

    if (!$rm)
    {
    $mail->From($m_conf['emailfrom']);
    $mail->ClearAddresses();
    $mail->To('мыло@мыло.com');
    $mail->Subject("Новый заказ на Вашсайт.com ");

    !!!! Это часть из моей CMS. тут я получаю Название страницы и название товара
    $pagenaz = GetFieldFromSQL($this->conn,"SELECT NAZ FROM MTREE WHERE ID=".(int)$PGID,'');
    !!!!


    $soderv = "

    Заказ: $pagenaz

    e-mail: $EMAIL

    Телефон: $TEL

    Цветовая гамма: $COLOR

    На весь экран: $FULLSKREEN

    Техническое задание: $ISTZ

    Видеоинструкция к сайту: $MEDIAFAQ

    Хостинг: $HOSTING

    Домен: $DOMEN

    Видеоинструкция к хостингу: $MEDIADM

    Обучение персонала: $EDUCATION

    ";
    $mail->Body($soderv);
    $mail->Send();

    $this->green_mess ="Сообщение отправлено";
    }
    ?>

    Как видно, есть подключение некоторого сендмейла tsendmail.php, вот что было в начале файла:
    <?php

    /*

    this class encapsulates the PHP mail() function.
    implements CC, Bcc, Priority headers

    @version 1.3

    - added ReplyTo( $address ) method
    - added Receipt() method - to add a mail receipt
    - added optionnal charset parameter to Body() method. this should fix charset problem on some mail clients

    @example

    $m= new Mail; // create the mail
    $m->From( "leo@isp.com" );
    $m->To( "destination@somewhere.fr" );
    $m->Subject( "the subject of the mail" );

    $message= "Hello world!\nthis is a test of the Mail class\nplease ignore\nThanks.";
    $m->Body( $message); // set the body
    $m->Cc( "someone@somewhere.fr");
    $m->Bcc( "someoneelse@somewhere.fr");
    $m->Priority(4) ; // set the priority to Low
    $m->Attach( "/home/leo/toto.gif", "image/gif" ) ; // attach a file of type image/gif

    //alternatively u can get the attachment uploaded from a form
    //and retreive the filename and filetype and pass it to attach methos

    $m->Send(); // send the mail
    echo "the mail below has been sent:
    ", $m->Get(), "";

    author Saravanan(winsaravanan@yahoo.com,ssaravanan@teledata-usa.com)

    */
    весь код приводить не буду, только по запросу ))

    3. Понятно, что переменные в начале файла соответствуют названиям полей в форме, все инпуты, чеки, радио, и селекты и кнопка.

    Есть непонятная чать с PGID и какой-то SQL-фигней:
    $pagenaz = GetFieldFromSQL($this->conn,"SELECT NAZ FROM MTREE WHERE ID=".(int)$PGID,'');
    и naz и PGID - это внутренние команды CMS Webolla, на которой работает сайт, вместо этих переменных у вас будут свои, которые вы берете там где берете для обозначение страницы с которой был заказ и собственно название товара. Это для магазина без корзины.

    4. И последнее, чего, имхо, не хватает вашему коду - верстки, в которую скрипт оформит ответ, собранное из формы. В каком виде вам должно приходить собранное на почту, если нет верстки? Или я чего-то не понимаю? Если так - прошу меня извинить, я начинающая )
    Ответ написан
    Комментировать
  • Как получить данные формы для отправки php?

    ReenaFuro
    @ReenaFuro
    Веб, игры, софт, социальный инженеринг
    Возможно я не правильно поняла, прости если так. Влажу, поскольку сама с этим часто сталкиваюсь и интересует решение.

    Как выглядит сам php файл? Или это все? Это только часть кода? "С этим не работает" - это что значит? Не шлет ничего, или что-то еще не делает?

    У меня на сайте работает скрипт, который собирает все что нужно на странице и шлет мне на почту. Так вот он не похож на то, что вы написали )
    Ответ написан
    Комментировать