За последние 24 часа нас посетили 16311 программистов и 1582 робота. Сейчас ищут 1550 программистов ...

Счётчик в письмо(РЕШЕНО)

Тема в разделе "Работа с почтой", создана пользователем phpjunior, 20 янв 2014.

  1. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Народ подскажите как запихать счётчик в письмо?
    есть файл при обращении к нему заноситься +1 в бд
    тоесть +1 прочитанных но как его запихать в письмо и что бы при открытии читатель обращался к счётчику???
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Счётчик прочитанных

    картинку через скрипт отдавай
     
  3. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Re: Счётчик прочитанных

    каким образом? Я пытался так <img src="domain.ru/counter.php?user=1"> правда бред но почтовые клиенты в-обще не принимали даже в спам такие письма! Я шарился по интернету нашел вариант http://govnoproger.ru/php/uchyot-kolichestva-prosmotrov-kartinok-na-sajte.html
    Обьясните пожалуйста до меня не доходит! :(
     
  4. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Re: Счётчик прочитанных

    Разобрался народ наверно интересно будет людям))
    Есть директория stats в ней файлы counter.php .htacces и img.png
    [*]в файле htacces
    Код (Text):
    1. <IfModule mod_rewrite.c>
    2. RewriteEngine On
    3. RewriteRule ^img.png$ counter.php [L]//Все запросы будут перенаправляться в файл counter.php включая и GET запросы
    4. </IfModule>
    [*]В файле counter.php
    Код (Text):
    1. $user_id = $_GET['user'];//Определяем GET и загоняем в $user_id
    2. $sql ="SELECT * FROM `table` WHERE user_id=$user_id"; //Ищем в table строку с user_id = $user_id
    3. $row = mysql_fetch_array(mysql_query($sql));// Все поля из строки в массив
    4. $read = mysql_real_escape_string(htmlspecialchars($row['read']));//Достаём массив из поля read (всего три поля read count и user_id)
    5. $read++;//Прибавляем чтение сообщения
    6. $sql = "UPDATE `sm_stats` SET `read`=$read WHERE `user_id`=$user_id";//Обновляем базу внося $read++
    7. $query = mysql_query($sql);//Отправляем запрос
    Только одна проблема: сообшения в которые вставлены картинки таким образом уходят в спам тоесть даже до него не доходят :) может источник не нравиться фильтрам? или get? подскажите
    Код (Text):
    1.  
    2. <p><img src="http://alpha.mtshost.ru/stats/img.png?user=20" border="0" alt="" width="2" height="2" style="outline: black solid 1px; color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; line-height: normal;" data-mce-selected="1" /></p>
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я бы передавал хеш мыльника и соли, а не айди юзера

    эта бешеная конструкция не нужна, в любом случае, а если вы хотите подготовить строку для записи в бд надо юзать эскейпинг, но не эту функу.
    Судя по отсутствию кавычек, вы туда не строку суёте, а число. для защиты бд достаточно сделать $read = (int)$row['read']; что приведёт содержимое к числовому типу, откинув всё лишнее, тем самым обезопасив запись в бд.

    вместо апдейта надо использовать инсерт он дупликей кей апдейт, иначе будут эрроры
     
  6. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Я уже задолбался с этой рассылкой) мне его щас доделать и жить спокойно и чай пить с печеньками))
    тем более я только познаю основы php mysql я был ужасно рад когда добился этого!
    И как вы для каждого пользователя рассылки вернёте значение прочитанных? без GET?
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    последний вопрос мне не ясен вообще о чем.
     
  8. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Ладно забей! На почту стали приходить сообщения и не уходить в спам дело было в источнике картинки фильтру походу не нравился тестовый домен. но только картинка приходит в виде исходного HTML