Afficher un lien de parrainage dans l'e-mail avec Javascript

Je veux afficher le lien de parrainage dans l’email. Voici ce que j’ai jusqu’à présent.

<form method="POST" action="javascript:" name="form">
 <br /><label> <input type="text" name="text" id="text" placeholder="Nom" value="" /> </label>
 <br /><label> <input type="text" name="email" id="email" placeholder="Email" value="" /> </label>
 <br /><label> <input type="text" name="phone" id="phone" placeholder="Téléphone" value="" /> </label>
 <br /><label> <input type="text" name="company" id="company" placeholder="Société" value="" /> </label> 
 <br /><label> <textarea name="textarea" id="textarea" placeholder="Message" rows="3" value="0" /></textarea> </label>
 <br /><label> <input type="text" name="referrer" id="bienvenue" placeholder="Référent" value="" style="display: none;"/></textarea> </label><br />
 <br /><label> <input type="button" name="button" id="button" placeholder="button" value="Envoyer" /> </label>
</form>

Formulaire d’envoie d’email :

$message .= '<tr><td>Nom : </td><td>' . $_REQUEST['text'] . '</td><tr>';
$message .= '<tr><td>Email : </td><td>' . $_REQUEST['email'] . '</td></tr>';
$message .= '<tr><td>Téléphone: </td><td>' . $_REQUEST['phone'] . '</td></tr>';
$message .= '<tr><td>Société: </td><td>' . $_REQUEST['company'] . '</td></tr>';
$message .= '<tr><td>Message : </td><td>' . $_REQUEST['textarea'] . '</td></tr>';
$message .= '<tr><td>Référent : </td><td>'. $_REQUEST['referrer'] .'</td></tr>'; 

Javascript pour récupérer le lien du référent.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
//Ajoutez les urls, les expressions régulières et votre message (n'importe quel code HTML) au tableau.
var msgs = [
//null url : pour afficher un message pour le trafic direct (pas de referer, quelqu'un qui se souvient de l'url de votre site !)
{'url':null,                           'msg':'Ravi que vous vous souveniez de l\'URL de mon site, profitez de votre temps.'}
//Mon url ! : afficher un message pour les référents de votre propre site ou null afin de ne pas les ennuyer
,{'url':/^http:\/\/(\w+\.)?moretechtips\.net/,    'msg':null}
//Autres urls
,{'url':/^http:\/\/(\w+\.)?24hour\.com/,         'msg':'Bienvenue à tous les membres de 24hour, si vous aimez ce site, votez pour lui.'}
,{'url':/^http:\/\/(\w+\.)?pizahut\.com/,      'msg':'Bienvenue aux utilisateurs de pizahut, j\'espère que vous vous plairez ici.'}
//modèle générique : pour afficher un message générique pour les référents pour lesquels vous n'avez pas spécifié de message générique
//Vous devez le garder à la fin de la liste car il correspondra à tout référent non vide.
,{'url':/^http:\/\//,               'msg':'Bonjour les... J\'espère que vous trouverez ce que vous cherchez'}
];
function FindReferrer(){
   var div = $('#bienvenue');
   //Si Div n'a pas été positionné, cela signifie qu'il n'y a pas de message à afficher.
   if (!div.length) return;
   var ref = document.referrer.toLowerCase();
   var msg = findMatch(ref);
   // si msg non nul trouvé
   if(msg) {
      //Ajouter le bouton Close et afficher un message
      div.html( '<a href="javascript:void(0)" class="CloseButton">X</a>' + msg).show('slow',function(){
         //Masquer le bouton Close en cas de clic
         $('.CloseButton',div).click(function(){ div.hide() })
      });
   }
}
function findMatch(ref) {
   for(var i=0; i<msgs.length; i++)
      if( ( ref=='' && msgs[i].url==null) || (ref>'' && ref.match(msgs[i].url) ) )
         return msgs[i].msg;
   return null;
}

// Appeler la fonction "FindReferrer" lorsque le document est prêt
$(FindReferrer);
</script>

Ce script fonctionne. J’ai essayé d’afficher le lien de parrainage envoyé à mon email mais il est vide. J’espère que j’ai bien expliqué ce que je voulais faire.

Cela permet d’envoyer le message à partir du tableau msgs dans l’e-mail.

if(msg) {
   //Ajouter le bouton Close et afficher un message
   div.html( '<a href="javascript:void(0)" class="CloseButton">X</a>' + msg).show('slow',function(){
      //Masquer le bouton Close en cas de clic
      $('.CloseButton',div).click(function(){ div.hide() })
   });
   // Inclure un message dans les données du formulaire
   div.val(msg);
}

Si vous voulez simplement l’URL du référent, qu’il soit ou non dans le tableau, il suffit de faire :

div.val(ref);

avant if (msg).

Pour que cela soit envoyé au script PHP, vous devez modifier le champ du formulaire en :

<input type="hidden" name="referrer" id="bienvenue" placeholder="Référent" value=""/>

Les champs de formulaire qui ont display : none ne sont pas envoyés au serveur, c’est à cela que sert le type="hidden".

Merci beaucoup, ca fonction :tada: