1 lien pour se désinscrire mais 2 tables abonnés

Résolu
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007 - 30 avril 2007 à 09:52
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007 - 30 avril 2007 à 14:57
Bonjour à tous, voilà des lustres que je ne suis pas revenu sur ce site qui a plus que contribué à mon apprentissage du php ^^

Alors voilà, je souhaiterais rajouter à ma newsletter un lien pour se désabonner, mais comment gérer la désinscription avec mes 2 tables ? En effet, dans le corps du mail j'envoie l'adresse de l'abonné, mais je ne sais pas le faire pour 2 tables différentes...

Ci dessous mon envoi de mail :

while ($mail = tep_db_fetch_array($mail_query1)) {
                      $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                    $mimemessage->add_html($this->html_content.'

'.TEXT_NEWSLETTER_OPTOUT.'
'.'['.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['customers_email_address'].' Se désinscrire]');
                 $mimemessage->build_message();
                $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
              }

Il me semble que le souci est concentré sur cette ligne :

$mimemessage->add_html($this->html_content.'

'.TEXT_NEWSLETTER_OPTOUT.'
'.'['.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].' Se
désinscrire]');

J'hésite entre 2 explications
-> ou on ne peut rien rajouter à ce moment de la formation du mail, car je peux rajouter <!--coloro:#008000--><!--/coloro-->'

'.TEXT_NEWSLETTER_OPTOUT.'
'.'['.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].' Se
désinscrire]');<!--colorc--><!--/colorc--> dans le corps du mail de cette manière html_content.=

(cette
solution m'aurait arrangé car plus simple, seulement j'ai besoin de
transmettre le mail du membre dans le lien pour sa désincription, et
comme j'ai 2 tables avec les inscrits membres et les inscrits "page
d'accueil", je ne vois d'autre choix que rajouter le code en vert dans
les 2 boucles while de fin.)

<!--coloro:#008000-->-> ou bien il est possible -et
je ne sais comment faire- d'intégrer mon code en vert dans le corps du
mail (html_content.=) tout en spécifiant la bonne adresse dans dans <!--/coloro-->?email='.$mail['<!--coloro:#FF0000--><!--/coloro-->email<!--colorc--><!--/colorc-->'].'

<!--colorc--><!--/colorc-->Si quelqu'un a une idée, je suis plus que preneur !

3 réponses

crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
30 avril 2007 à 14:57
j'ai résolu mon problème, suffisait de remplacer $this->html_content par $this->content, merci quand même Flashy Joe
3
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
30 avril 2007 à 11:29
C'est pas tres clair ton histoire...
tu as donc 2 tables, qui servent à une seule newsletter ?
est-ce que les inscrits le sont dans les 2 tables, ou uniquement dans l'une ou peut-être dans les 2 ?
tu peut modifier ta page de desinscription ? est ce que tu en as une pour chaque liste ?
est ce que les 2 tables ont des champs communs ?

Flachy Joe
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
30 avril 2007 à 11:58
Désolé pour mon manque de clarté.

Alors j'ai une newsletter que je voudrais envoyer à 2 tables en même temps (une table customers et une table newsletter_suscriber).
Ces 2 tables sont indépendantes dans le sens où la première recense les utilisateurs ayant cochés "oui à la news"
Quant à la seconde table, elle concerne les visiteurs qui ont renseigné leur email sur la page d'accueil pour s'inscrire à la news et pas au site.
Je n'ai pas encore fait la page de désincription, mais ce ne sera pas le plus dur je pense.
Et non les 2 tables n'ont pas les mêmes champs :
table customer :
customer_id
customer_gnder
customer_firstname
customer_email (1=abonné)
customer_defautadress
Etc.

Table newsletter_suscriber
id_abonne
email
desabonne (0 = abonné)

Voici le contenu de mon mail :

$html_content .= '</tr><tr><td class="content" align="center" width="' . $width . '%">[' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $images['products_id']) . ' ' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_NORMAL_IMAGES . $images['products_image'], $images['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '
' . $images['products_name'] . '
' . $currencies->display_price($images['products_price'], tep_get_tax_rate($images['products_tax_class_id'])) . ']</td>';
                $col = 0;
            }else{
                $html_content .= '<td class="content" align="center" width="' . $width . '%">[' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $images['products_id']) . ' ' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_NORMAL_IMAGES . $images['products_image'], $images['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '
' . $images['products_name'] . '
' . $currencies->display_price($images['products_price'], tep_get_tax_rate($images['products_tax_class_id'])) . ']</td>';
            }
            $col++;
        }
        $html_content .= '</tr></table>';

et mes envois de mail :

 function send($newsletter_id) {      $mail_query1 tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter '1'");      $mail_query2 tep_db_query("select id_abonne, desabonne, email from newsletter_subscribers where desabonne '0'");
     
                 // Construction du mail
               
                // Envoi membres
              while ($mail = tep_db_fetch_array($mail_query1)) {
                 $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                $mimemessage->add_html($this->html_content.'

'.TEXT_NEWSLETTER_OPTOUT.'
'.'['.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['customers_email_address'].' Se désinscrire]');
                $mimemessage->add_html($this->html_content());
                $mimemessage->build_message();
                $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
              }
             
              // Envoi visiteurs
              while ($mail = tep_db_fetch_array($mail_query2)) {
                  $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                $mimemessage->add_html($this->html_content.'

'.TEXT_NEWSLETTER_OPTOUT.'
'.'['.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].' Se désinscrire]');
                $mimemessage->add_html($this->html_content());
                $mimemessage->build_message();
                $mimemessage->send($mail['id_abonne'] . ' ' . $mail['desabonne'], $mail['email'], '', EMAIL_FROM, $this->title);
              }
   
      $newsletter_id = tep_db_prepare_input($newsletter_id);      tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent now(), status '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'");
    }

C'est plus clair ?
0
Rejoignez-nous