За последние 24 часа нас посетили 17595 программистов и 1315 роботов. Сейчас ищут 1725 программистов ...

Отправить в письме url сайта,с которого был совершен переход

Тема в разделе "Работа с почтой", создана пользователем Rex4r, 15 ноя 2013.

  1. Rex4r

    Rex4r Новичок

    С нами с:
    15 ноя 2013
    Сообщения:
    1
    Симпатии:
    0
    Дано: одностраничный сайт с формой заказа + реклама этого сайта на N ресурсах.
    Задача: Отправить в письме данные из формы и адрес сайта, откуда пришел посетитель.

    Решение до которого додумался:

    html
    Код (Text):
    1. <?php
    2. $url=getenv("HTTP_REFERER");       // вычисляем откуда пришел посетитель
    3. if ($url<>"http://*адрес сайта*") {  /*сравниваем адрес откуда пришел посетитель с адресом сайта, чтобы при перезагрузке сайта url оставался прежним*/
    4.     $fp = fopen('bd.txt', 'a'); //создаем файл со списком адресов, откуда совершались переходы
    5.     $url.="\r\n";
    6.     fwrite($fp, $url);
    7.     fclose($fp);}
    8. ?>
    9.  
    10. <form  id="form" method="post" action="javascript:void(0);" onsubmit="ajax()">
    11. <fieldset>
    12.     <span class = "form_text"> Имя </span>
    13.     <input type="text" name="name" class="name" required placeholder="" />
    14.     <span class = "form_text"> Телефон </span>
    15.     <input  type="text"  name="phone" class="phone" required placeholder="" /> 
    16.     <span class = "form_text"> E-mail </span>
    17.     <input  type="text"  name="email" class="email" required placeholder="" />                     
    18.     <button type="submit" name="send" class="send"/>
    19. </fieldset>
    20. </form>
    send.php
    Код (Text):
    1.  
    2. $file = file("bd.txt"); // Считываем весь файл в массив
    3. $i = sizeof($file)-1;
    4. $url= $file[$i]; //присваиваем переменной значение последней строки файла
    5.  
    6. $name    = $_POST['name'];
    7. $email   = $_POST['email'];
    8. $phone   = $_POST['phone'];
    9. $subject = "Заказ";
    10. $headers  = 'MIME-Version: 1.0' . "\r\n";
    11. $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    12. $mes = "<strong>Имя:</strong>{$name}\r\n
    13.          <strong>Email:</strong>{$email}\r\n
    14.          <strong>Телефон:</strong>{$phone}\r\n
    15.          <strong>Переход с </strong>{$url}";
    16.  
    17.     if (mail(" **** ", $subject, $mes,$headers)) {
    18.         print "Ваша заявка принята в обработку!";
    19.     } else echo "Ошибка!";
    Проблемы:
    1) Серьезная. Ситуация: зашел 1ый посетитель (Вася) на сайт через гугл. Изучает содержимое сайта. Тем временем на сайт заходит 2ой посетитель (Коля) через яндекс. Вася решает сделать заказ. Заполняет форму и в его письмо вставляется ссыль по которой перешел Коля.

    2) Приемлемая. При прямом переходе на сайт пункт "Переход с" в письме остается пустым.

    P.S. Метрики не предлагать. Задача именно в том, чтобы узнать откуда чаше приходят люди, которые совершают заказы.
     
  2. IvanDraga

    IvanDraga Новичок

    С нами с:
    10 ноя 2013
    Сообщения:
    39
    Симпатии:
    0
    Re: Отправить в письме url сайта,с которого был совершен пер

    Не совсем понятно, зачем вам файл. Сохраняйте referer в сессии при первом заходе, его и отправляйте в письме.