recommandeur

Petit recommandeur que j'ai placé sur mon pluXML, je le partage donc avec la communauté - le code n'est pas de moi ..
L'avantage est que le visiteur peut entrer plusieures adresses, personnaliser son message et que vous recevez une copie + mails.

En page statique, on y modifieras la ligne 2 :
<?php
$le_site = 'http://technologeek.online.fr/';
?>
<form action="recommander.php" target="_blank">
<br><b>
Recommandez <?php echo "$le_site" ?> à vos ami(e)s :</b><br>
<br>Votre mail : <input type="text" name="nom"><br>
<input type="text" name="mail2" size="20" value="Adresse 1" onclick="this.value=''"><input type="text" name="mail1" size="20" value="Adresse 2" onclick="this.value=''"><br>
<input type="text" name="mail4" size="20" value="Adresse 3" onclick="this.value=''"><input type="text" name="mail3" size="20" value="Adresse 4" onclick="this.value=''"><br>
<input type="text" name="mail6" size="20" value="Adresse 5" onclick="this.value=''"><input type="text" name="mail5" size="20" value="Adresse 6" onclick="this.value=''"><br>
<input type="text" name="mail8" size="20" value="Adresse 7" onclick="this.value=''"><input type="text" name="mail7" size="20" value="Adresse 8" onclick="this.value=''"><br>
<input type="text" name="mail9" size="20" value="Adresse 9" onclick="this.value=''"><input type="text" name="mail10" size="20" value="Adresse 10" onclick="this.value=''"><b><p>
Votre petit message perso :</p></b>
<p><textarea rows="5" cols="28" name="message" onclick="this.value=''" maxlength="200">Allez visiter ce site...</textarea><br>
<br>

</p>

<p><input type="submit" value="Recommander !" onclick="alert('Laissez charger entièrement la page merci.')">
<br>

</p>

</form>
Fichier "recommander.php", à placer à la racine :
Le code n'est pas super propre semblerait - mais fonctionnel..
Il faudra modifier les lignes 9 à 13..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
</head>

<body>
<?php
	$subject = "je t'invites a découvrir ce site"; // sujet de l'email
	$url_site = 'http://technologeek.online.fr/'; // L'adresse de votre site
	$sitename = "technologeek"; // nom de votre site
	$recevoir_copie = 'oui'; // si 'oui', vous recevrez une copie de chaque mail de recommandation
	$mon_mail = 'technologeek@online.fr'; // votre email pour recevoir les copies

	function Rec($text)
	{
		$text = trim($text);
		if (1 === get_magic_quotes_gpc())
		{
			$stripslashes = create_function('$txt', 'return stripslashes($txt);');
		}
		else
		{
			$stripslashes = create_function('$txt', 'return $txt;');
		}

		$text = $stripslashes($text);
		$text = htmlspecialchars($text, ENT_QUOTES);
		$text = nl2br($text);
		return $text;
	};

	function IsEmail($email)
	{
		$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
		return (eregi($pattern,$email)) ? true : false;
	};

	function SendRecommandMail($recipient, $subject, $message, $exp_nom, $exp_mail)
	{
		$headers = 'From: '.stripslashes($exp_nom).' <'.$exp_mail.'>' . "\r\n";
		$headers .= 'Reply-To: '.$exp_mail. "\r\n";
		$message = html_entity_decode($message);
		$message = str_replace(''',"'",$message);
		$message = str_replace('’',"'",$message);
		$message = str_replace('<br>','',$message);
		$message = str_replace('<br />','',$message);

		return mail($recipient,$subject,$message,$headers);
	};

	$origine_nom   = (isset($_POST['origine_nom']))   ? Rec($_POST['origine_nom']) : '';
	$origine_email = (isset($_POST['origine_email'])) ? Rec($_POST['origine_email']) : '';
	$desti_nom     = (isset($_POST['desti_nom']))     ? Rec($_POST['desti_nom']) : '';
	$desti_email   = (isset($_POST['desti_email']))   ? Rec($_POST['desti_email']) : '';
	$message       = (isset($_POST['message']))       ? Rec($_POST['message']) : '';
	$errform = false;

	$code  = (isset($_POST['code']))  ? strtolower(Rec($_POST['code'])) : '';
	$nospam_question = (isset($_POST['nospam_question'])) ? $_POST['nospam_question'] : '';

	if (isset($_POST['submit']))
	{

		$origine_email = (IsEmail($origine_email)) ? $origine_email : '';
		$desti_email = (IsEmail($desti_email)) ? $desti_email : '';


		$verif_spam = NoSpamQuestion('ans', $nospam_question);


		if ($code != strtolower($verif_spam['answer']))
		{

			echo '<p>Vous n\'avez pas répondu correctement à la question ....<br /><a href="javascript:window.close();">Fermer la fenêtre</a></p>'."\n";
		}
		else
		{

			if (($origine_email != '') && ($desti_email != ''))
			{

				$final_message = 'Bonjour';

				$final_message .= ($desti_nom != '') ? ' '.$desti_nom : '';

				$final_message .= ($origine_nom != '') ? "\n".$origine_nom : "\nUn visiteur";

				$final_message .= ' voudrait vous recommander ce site : '.$url_site;

				if ($message != '')
				{
					$final_message .= "\n\n-------------------------\nIl (Elle) a ajouté le message suivant :\n".nl2br(stripslashes($message));
				}

				$final_message .= "\nA bientôt sur ".$url_site."\nL'équipe d'administration.";

				$exp_nom = $sitename;
				$exp_mail = $origine_email;
				if ($origine_nom != '')
				{
					$exp_nom = $origine_nom.' (depuis '.$sitename.')';
				};

				if ($recevoir_copie == 'oui')
					$destinataires = $desti_email.';'.$mon_mail;
				else
					$destinataires = $desti_email;

				if (SendRecommandMail($destinataires, $subject, $final_message, $exp_nom, $exp_mail))
				{
					echo '<p>Votre message est bien parti, merci d\'avoir recommandé ce site !</p>'."\n";
				}
				else
				{
					echo '<p>Votre message n\'a pu être envoyé : il y a une erreur au niveau du sereveur de mail. Veuillez nous excuser et réessayer sous peu, cela sera vite réparé.</p>'."\n";
				};

				echo '<p style="text-align:center;"><a href="javascript:window.close();">Fermer la fenêtre !</a></p>'."\n";
			}
			else
			{
				$errform = true;
			};
		};
	};

	if ($errform)
	{
		echo '<p>Vous avez fait une erreur dans la saisie du formulaire... Vérfiez que vous ayiez bien mis un seul email de destination et que le vôtre soit correctement écrit.</p>';
	};

	$tabindex = 1;
	if ((!isset($_POST['submit'])) || ($errform))
	{
		$nospam = NoSpamQuestion();

		echo '<form id="recommander" method="post" action="">'."\n";
		echo '	<fieldset><legend>A propos de vous ...</legend>'."\n";
		echo '		<p><label for="origine_nom">Votre nom :</label><input type="text" id="origine_nom" name="origine_nom" value="'.$origine_nom.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
		echo '		<p><label for="origine_email">Votre email* :</label><input type="text" id="origine_email" name="origine_email" value="'.$origine_email.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
		echo '	</fieldset>'."\n";

		echo '	<fieldset><legend>Envoyer à ...</legend>'."\n";
		echo '		<p><label for="desti_nom">Nom du destinataire :</label><input type="text" id="desti_nom" name="desti_nom" value="'.$desti_nom.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
		echo '		<p><label for="desti_email">Email du destinataire* :</label><input type="text" id="desti_email" name="desti_email" value="'.$desti_email.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
		echo '	</fieldset>'."\n";

		echo '	<fieldset><legend>Message + Contrôle</legend>'."\n";
		echo '		<p><label for="message">Ajouter un message perso ?</label><textarea id="message" cols="35" rows="8" name="message" tabindex="'.$tabindex.'">'.$message.'</textarea></p>'."\n"; $tabindex++;
		echo '		<p><label for="code">Ecrivez en LETTRES le résultat* : '.$nospam['question'].'</label><input type="text" name="code" id="code" /><input type="hidden" name="nospam_question" value="'.$nospam['num'].'" /></p>'."\n";
		echo '	</fieldset>'."\n";
		echo '	<div style="text-align:center;"><input type="submit" name="submit" value="Envoyer mon mail !" /></div>'."\n";
		echo '</form>'."\n";
		echo '<p style="font-style:italic;">* Les champs marqués d\'une astérisque sont obligatoires.</p>'."\n";
	};
?>
</body>
</html>

Réponses

  • Bonjour, :)

    Très sympa ce petit script mais il ne marche pas chez moi.

    Après l'envoie du formulaire, un message f'alerte le dit....
    "Laissez charger entièrement la page merci."

    Chrome et Firefox
Connectez-vous ou Inscrivez-vous pour répondre.