Il n'est pas difficile de modifier discrètement les informations d'un abonné dans une liste ou une autre puisqu'il suffit de le réinscrire
à cette liste ou l'inscrire à une autre avec de nouvelles informations. Vous pouvez aussi paramétrer une règle
automatique sur un message qui aura exactement le même effet, lorsque le destinataire ouvrira ou cliquera un
lien du message, il peut être inscrit, ré-inscrit, déplacé et ses informations mises à jour sans avoir à toucher une seule ligne de code. Voir la section
Automatisation.
Toutefois, si vous souhaitez réaliser ceci lorsque l'abonné réalise telle ou telle action sur votre site, après avoir cliqué sur votre lien, il suffira de
de réaliser un appel serveur (Curl ou fsokopen) ou "d'afficher un formulaire invisible" qui sera envoyé automatiquement au moment opportun.
Envoi d'un formulaire invisible
Il faut avoir à l'esprit que dans ce cas, le contact est redirigé sur la "page après inscription" de la liste à laquelle il appartient.
Le code HTML ci dessous réalisera une (ré)inscription de l'abonné avec les champs personnalisés
champ1=cequejeveux et
champ2=iciaussi.
Pour l'utiliser, il suffit que ce code soit placé dans une page (disons postclic.php) que l'abonné visitera rapidement
et que l'abonné clique d'abord un lien contenu dans un des messages que vous lui avez envoyé.
Par exemple:
http://votredomaine.com/clic.php?clt=45d4f6d4i6wqpm5df46z564gcg33f32df
Par défaut, le code ?clt=45d4f6d4i6wqpm5df46z564gcg33f32df est automatiquement ajouté par cybermailing si vous avez spécifié http://votredomaine.com/clic.php dans votre message.
Sur clic.php vous devrez avoir:
<?php
if(!session_id())
session_start();
$_SESSION['clt'] = $_GET['clt'];
?>
Ce qui vous permet de mémoriser le valeur du code "clt" le temps de la session.
Et sur postclic.php vous aurez:
<?php
echo '<form method="POST" action="http://api.cybermailing.com" onload="this.submit()">
<input type="hidden" name="tracking_id" value="'.$_SESSION['clt'].'">
<input type="hidden" name="function" value="subscribe">
<input type="hidden" name="champ1" value="cequejeveux">
<input type="hidden" name="champ2" value="iciaussi">
</form>'
?>
Pour inscrire dans une autre liste, tout en récupérant toutes les valeurs de champs personnalisés de l'abonné, sans avoir à les retransmettre vous pouvez utiliser la fonction
copy2list:
<?php
echo '<form method="POST" action="http://api.cybermailing.com" onload="this.submit()">
<input type="hidden" name="tracking_id" value="'.$_SESSION['clt'].'">
<input type="hidden" name="function" value="subscribe">
<input type="hidden" name="copy2list" value="NO_DE_LA_LISTE_DE_DESTINATION">
<input type="hidden" name="champ1" value="cequejeveux">
<input type="hidden" name="champ2" value="iciaussi">
</form>'
?>
Lorsque l'abonné visitera postclic.php il sera redirigé sur la page après inscription de sa liste d'orgine. Comme cette redirection a lieu en transférant dans l'url les valeures passées lors
de l'inscription, cette page pourra par exemple détéctér que champs1=cequejeveux et afficher un message adéquat (il est fortement probable que ce que vous souhaitiez afficher à ce moment là
diffère de ce que vous souhaitiez afficher lors de l'inscription originelle).
Il peut être intéressant de prendre note des comportements suivant :
- Une re-inscription d'une adresse email déjà inscrite et confirmée donne lieu à une mise à jour des informations transmises.
- La ré-inscription d'une adresse déjà inscrite mais non confirmée, donne lieu à un nouvel envoi du message de demande de confirmation et à une mise à jour.
- Seules les nouvelles informations sont prises en comptes : Si des champs personnalisés contenaient des valeurs et que ceux-ci ne sont spécifiés dans la re-inscription, les anciennes valeurs sont inchangée.
- La position de l'abonné dans une éventuelle séquence pré-programmée (autorépondeur) n'est pas modifiée.
- Les règles automatiques ne sont pas à nouveau déclenchées.
Méthode de l'Appel Serveur
Cette méthode présente l'avantage de ne pas avoir à gérer le retour sur la page après inscription. Elle s'utilise
comme les exemples précédent sauf que le code est sensisblement différent puisqu'il utilise la
librairie client PHP de connection à l'API CyberMAiling.
Sur postclic.php pour enregistrer champs1=cequejeveux et champs2=iciaussi
<?php
$contact["tracking_id"] = $_SESSION["clt"];
$contact["function"] = "subscribe";
$contact["champs1"] = "cequejeveux";
$contact["champs2"] = "iciaussi";
cyberMailing_connect::talk($contact);
?>
Sur postclic.php pour enregistrer champs1=cequejeveux et champs2=iciaussi dans la liste NO_DE_LA_LISTE_DE_DESTINATION en conservant toutes éventuelles
données contenues dans la liste d'oirigine:
<?php
$contact["tracking_id"] = $_SESSION["clt"];
$contact["function"] = "subscribe";
$contact["copy2list"] = "NO_DE_LA_LISTE_DE_DESTINATION";
$contact["champs1"] = "cequejeveux";
$contact["champs2"] = "iciaussi";
cyberMailing_connect::talk($contact);
?>