Recommandation et news-letter

Description

Voici un formulaire de recommandation avec une news letter, un espace administrateur et un espace membres ou les personnes peuvent avoir accès à leurs informations.

Dites moi ce que vous en pensez, merci à vous

Source / Exemple :


<?php
########################
#        Djé 33        #
########################
$Erreur = "";
$Err_Nom_Ex = false; // L'erreur n'est pas encore possible puisque le bouton Envoyer n'est pas encore actionné, donc : Erreur Faux
$Err_Prenom_Ex = false; // Idem.
$Err_Email_Ex = false;  // Idem.
$Err_Nom_De = false; // Idem.
$Err_Prenom_De = false; // Idem.
$Err_Email_De = false;  // Idem.
$Err_Syntaxe_Mail_Ex = false; // Idem.
$Err_Syntaxe_Mail_De = false; // Idem.

$Mail_Ok = false; // La recommandation n'est pas encore partie.

################################################################################################################

// Vérification de l'installation du formulaire 
include("Includes/config.php"); // Page de configuration
	if (!isset($serveur) || !isset($utilisateur) || !isset($pass) || !isset($bdd)) // Si une des variables n'existe pas
	{
	header("location:Installation/install.php"); // Aller à l'installation
	exit; // Sortir de la page
	}

################################################################################################################
include('Includes/Fonctions.php'); // Constant et Define
if (isset($_POST['submit']) && $_POST['submit'] == "Envoyer") // Si le bouton Envoyer est actionné.
	{
	extract($_POST); // Extraction des Post.
	$Erreur = ""; // Pour le moment aucunes erreurs à signaler au visiteur.
	
################################################################################################################
	
		/* Fonction de Formatage des POST */
		function nettoyage($valeur)
		{
		  return mysql_real_escape_string(htmlspecialchars(stripslashes($valeur)));
		}
		/* Fin de la Fonction de Formatage des POST */
		
		$nom_expediteur = nettoyage($nom_expediteur); // Formatage du nom de l'expediteur
		$prenom_expediteur = nettoyage($prenom_expediteur); // Formatage du prénom de l'expediteur
		$email_expediteur = nettoyage($email_expediteur); // Formatage de l'adresse email de l'expediteur
		$nom_destinataire = nettoyage($nom_destinataire); // Formatage du nom du destinataire
		$prenom_destinataire = nettoyage($prenom_destinataire); // Formatage du prénom du destinataire
		$email_destinataire = nettoyage($email_destinataire); // Formatage de l'adresse email du destinataire
		
################################################################################################################		
		
		/* Fonction de vérification des champs */
		function champs($valeur)
		{
			if(strlen($valeur)>2) // Si le champ contient Plus de 2 caractères
			{
			return true; // Retour Vrai
			}
			else // Sinon
			{
			return false; // Retour Faux
			}
		}
		/* Fin de la Fonction de vérification des champs */
		
		if (!champs($nom_expediteur)) // Si le champ " Votre Nom " est vide ou contient moins de 2 caractères
		{
		$Erreur.="<li>Le champ « Votre Nom » est vide ou incomplet.</li>"; // Erreur à signaler au visiteur.
		$Err_Nom_Ex = true; // Erreur vrai
		}
		
		if (!champs($prenom_expediteur)) // Si le champ " Votre Prénom " est vide ou contient moins de 2 caracteres
		{
		$Erreur.="<li>Le champ « Votre Préom » est vide ou incomplet."; // Erreur à signaler au visiteur.
		$Err_Prenom_Ex = true; // Erreur vrai
		}
		
		if (!champs($email_expediteur)) // Si le champ " Votre Email " est vide ou contient moins de 2 caracteres
		{
		$Erreur.="<li>Le champ « Votre Email » est vide ou incomplet."; // Erreur à signaler au visiteur.
		$Err_Email_Ex = true; // Erreur vrai
		}
		
		if (!champs($nom_destinataire)) // Si le champ " Nom de Votre Ami(e)" est vide ou contient moins de 2 caractères
		{
		$Erreur.="<li>Le champ « Nom de Votre Ami(e) » est vide ou incomplet.</li>"; // Erreur à signaler au visiteur.
		$Err_Nom_De = true; // Erreur vrai
		}
		
		if (!champs($prenom_destinataire)) // Si le champ " Prénom de Votre Ami(e)" est vide ou contient moins de 2 caracteres
		{
		$Erreur.="<li>Le champ « Préom de Votre Ami(e) » est vide ou incomplet."; // Erreur à signaler au visiteur.
		$Err_Prenom_De = true; // Erreur vrai
		}
		
		if (!champs($email_destinataire)) // Si le champ "  Email de Votre Ami(e " est vide ou contient moins de 2 caracteres
		{
		$Erreur.="<li>Le champ « Email de Votre Ami(e) » est vide ou incomplet."; // Erreur à signaler au visiteur.
		$Err_Email_De = true; // Erreur vrai
		}
		
################################################################################################################
	
	if(champs($email_expediteur) && champs($email_destinataire)) // si les champs destinataire contiennent quelque chose
	{	
		/* Fonction de vérification de syntaxe adresse mail */
		function syntaxeMail($valeur)
		{
		$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; // Définition de la syntaxe
			if(preg_match($Syntaxe,$valeur)) // Si l'adresse Email saisi à bien la syntaxe souhaité
			{
			return true; // retour vrai
			}
			else // sinon
			{
			return false; // retour faux
			}
		} 
		/* Fin de la Fonction de vérification de syntaxe adresse mail */
		
		if (!syntaxeMail($email_expediteur)) // si la syntaxe de "Votre Email" est fausse
		{
		$Erreur.= "<li>La syntaxe de votre adresse e-mail n'est pas correcte.</li>"; // Erreur à signaler au visiteur.
		$Err_Syntaxe_Mail_Ex = true; //Erreur vrai.
		}
		
		if (!syntaxeMail($email_destinataire)) // si la syntaxe de "Email de Votre Ami(e)" est fausse
		{
		$Erreur.= "<li>La syntaxe de l'adresse email de votre ami(e) n'est pas correcte.</li>"; // Erreur à signaler au visiteur.
		$Err_Syntaxe_Mail_De = true; //Erreur vrai.
		}
	}	
			
################################################################################################################

		if ($Erreur == "") //Si il n'y pas d'erreur
		{
			/* Construction des mails. */
			
			// Paramètres
			$identite_ex = $nom_expediteur.' '.$prenom_expediteur; 
			$identite_de = $nom_destinataire.' '.$prenom_destinataire;
			
			// Entêtes
			$headers ="From: ".$email_expediteur."\n";
			$headers .="Reply-To: ".$email_expediteur."\n";
			$headers .="Content-Type: text/plain; charset=\"iso-8859-1\" \n";
			$headers .="Content-Transfer-Encoding: 8bit";
			
			$headers1 ="From: ".MAIL_MASTER."\n";
			$headers1 .="Reply-To: ".MAIL_MASTER."\n";
			$headers1 .="Content-Type: text/plain; charset=\"iso-8859-1\" \n";
			$headers1 .="Content-Transfer-Encoding: 8bit";
			
			// Sujets
			$objet ="Va vite voir ce site !";
			
			$objet1 ="Merci de votre recommandation.";
			
			$objet2 ="Recommandation depuis votre site.";
			
			$objet3 ="Validation sur ".NOM_SITE.".";
			
			// Messages
			$corp ="Bonjour ".$identite_de.", \n ";
			$corp .="Votre Ami(e) ".$identite_ex." , \n ";
			$corp .="vous invite à visiter un site internet. \n\n ";
			$corp .="Voici son message : \n ";
			$corp .=stripslashes($message);
			$corp .="\n\n ";
			$corp .="Pour visiter ce site cliquez sur le lien ci-dessous : \n ";
			$corp .=URL_SITE;
			$corp .="\n\n ";
			$corp .="Cordialement,".$identite_ex." et ".PROPRIO." \n ";
			
			$corp1 ="Bonjour ".$identite_ex.", \n ";
			$corp1 .=PROPRIO;
			$corp1 .=" vous remercie d'avoir invité un(e) de vos ami(e)s à visiter son site. \n\n ";
			$corp1 .=URL_SITE;
			$corp1 .="\n\n ";
			$corp1 .="Cordialement,".PROPRIO." \n ";  
			
			$corp2 ="Bonjour ".PROPRIO.", \n ";
			$corp2 .="Une recommandation à visiter votre site :\n ";
			$corp2 .=URL_SITE;
			$corp2 .="a été envoyé \n ";
			$corp2 .="Cordialement. \n ";
			 
################################################################################################################			
			
				// Envoie des Mails
				 if (mail($email_destinataire, $objet, $corp, $headers)) // Si le mail pour le destinataire est envoyé
				 {
				 $Mail_Ok = true; // Mail envoyé au destinataire, prévenir internaute.
				 
				 // Pour l'internaute
				 $MailEnvoye ="Bonjour ".$identite_de.",<br />";
				 $MailEnvoye .="Votre Ami(e) ".$identite_ex." ,<br />";
				 $MailEnvoye .="vous invite à visiter un site internet. <br /><br /> ";
				 $MailEnvoye .="Voici son message : <br /> ";
				 $MailEnvoye .=stripslashes($message);
				 $MailEnvoye .="<br /><br /> ";
				 $MailEnvoye .="Pour visiter ce site cliquez sur le lien ci-dessous : <br /> ";
				 $MailEnvoye .=URL_SITE;
				 $MailEnvoye .="<br /><br /> ";
				 $MailEnvoye .="Cordialement, ".$identite_ex." et ".PROPRIO." <br /> ";
				 
				 		// vérification que le mail n'existe pas dans la bdd
						$Req_mail_exist_de = mysql_query("SELECT COUNT(*) AS id FROM ".$prefix."membres WHERE Email='".$email_destinataire."'")or die(mysql_error());
						$mail_exist_de = mysql_fetch_assoc($Req_mail_exist_de);
						
						if ($mail_exist_de['id']<1) // si le mail n'est pas dans la bdd
						{
							//fonction code_de
							$chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@";
							$nb_caract = 15;
							$code_de = "";
							for($u = 1; $u <= $nb_caract; $u++) 
								{
								$nb = strlen($chaine);
								$nb = mt_rand(0,($nb-1));
								$code_de.=$chaine[$nb];
								}
							
							// enregistrement du destinataire dans la bdd
							$Enreg_Des ="INSERT INTO ".$prefix."membres VALUES('', '', '".$nom_destinataire."', '".$prenom_destinataire."', '".$email_destinataire."', '".$code_de."', '', '', '')";
							
							if (mysql_query($Enreg_Des))
								{
									$validation1 ="Bonjour ".$prenom_destinataire.", \n";
									$validation1 .="Vous êtes inscrit(e) pour recevoir les informations du site \n ";
									$validation1 .=URL_SITE;
									$validation1 .="\n\n";
									$validation1 .="Vous avez un accès total à vos informations. \n";
									$validation1 .="Vous devez créer votre mot de passe pour y avoir accès. \n";
									$validation1 .="Pour créer votre mot de passe ou vous désincrire cliquez ci-dessous \n\n";
									$validation1 .=URL_FICHIER;
									$validation1 .="validation.php?code=";
									$validation1 .=$code_de;
									$validation1 .="\n\n";
									$validation1 .="Cordialement, \n ";
									$validation1 .=PROPRIO;
									$validation1 .="\n\n";
									
									mail($email_destinataire, $objet3, $validation1, $headers1); // Envoie mail de validation d'inscription au destinataire
								}
							}
						
							// vérification que le mail n'existe pas dans la bdd
							$Req_mail_exist_exp = mysql_query("SELECT COUNT(*) AS id FROM ".$prefix."membres WHERE Email='".$email_expediteur."'")or die(mysql_error());
							$mail_exist_exp = mysql_fetch_assoc($Req_mail_exist_exp);
							
							if ($mail_exist_exp['id']<1) // si le mail n'est pas dans la bdd
							{
						
								if ($info == '1') // si la case info est cochée
								{
									//fonction code_ex
									$chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@";
									$nb_caract = 15;
									$code_ex = "";
									for($u = 1; $u <= $nb_caract; $u++) 
										{
										$nb = strlen($chaine);
										$nb = mt_rand(0,($nb-1));
										$code_ex.=$chaine[$nb];
										}
									
										
								// enregistrement de l'expediteur dans la bdd
								$Enreg_Exp ="INSERT INTO ".$prefix."membres VALUES('', '', '".$nom_expediteur."', '".$prenom_expediteur."', '".$email_expediteur."', '".$code_ex."', '', '', '')";
								
									if (mysql_query($Enreg_Exp))
									{
										$validation2 ="Bonjour ".$prenom_expediteur.", \n";
										$validation2 .="Vous êtes inscrit(e) pour recevoir les informations du site \n ";
										$validation2 .=URL_SITE;
										$validation2 .="\n\n";
										$validation2 .="Vous avez un accès total à vos informations. \n";
										$validation2 .="Vous devez créer votre mot de passe pour y avoir accès. \n";
										$validation2 .="Pour créer votre mot de passe ou vous désincrire cliquez ci-dessous \n\n";
										$validation2 .=URL_FICHIER;
										$validation2 .="validation.php?code=";
										$validation2 .=$code_ex;
										$validation2 .="\n\n";
										$validation2 .="Cordialement, \n ";
										$validation2 .=PROPRIO;
										$validation2 .="\n\n";
										
										mail($email_expediteur, $objet3, $validation2, $headers1); // Envoie du mail de validation d'inscription à l'expéditeur
									}
								}
							
				 		}
				  
				if (MAIL_MERCI == '1') // Si le webmaster désire envoyer le mail de remerciement
				{
					mail($email_expediteur, $objet1, $corp1, $headers1); // Envoie du mail de remerciement
				}
				if (MAIL_CONFIRM == '1') // Si le Webmaster désire recevoir un mail avertissement
				{
					mail(MAIL_MASTER, $objet2, $corp2, $headers1); // Envoie du mail l'avertissant d'une recommandation
				}	
			}
		}
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Recommandation</title>
<link href="Design/Recommandation/Style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="haut"></div>
    
    	<div id="Milieu">
          <div align="center">
          <div id="Titre_Formulaire">Formulaire de recommandation du site</div>
          <br />
          <?php 
		  if (!$Mail_Ok)
		  {
		  ?>
            Les Champs marqués d'une <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" /> sont obligatoire.
          </div>
          <br />
         
          <form action="recommandation.php" method="post">
<div id="Form">
	<?php 
		  if ($Erreur != "")
		  {
		  ?>
		  <div id="Titre_Form">Erreurs</div>
                <table width="100%">
                <tr>
                <td>
                <ul class="Err">
                <?php echo $Erreur; ?>
                </ul>
                </td>
                </tr>
                </table>
               	</div><br /><div id="Form">
                <?php } ?>
            	<div id="Titre_Form">Votre Identitée</div>
                <table width="100%">
                <tr>
                <td width="50%">
                  <div align="right">Votre Nom : </div>
                </td>
                <td width="50%">
                <input type="text" name="nom_expediteur" value="<?php if (isset($nom_expediteur)) { echo $nom_expediteur; } ?>" class="<?php if(!$Err_Nom_Ex) { echo 'Ok'; } else { echo 'Erreur'; } ?>" /> <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />                
                </td></tr>
                <tr><td>
                  <div align="right">Votre Prénom : </div>
                </td><td>
                <input type="text" name="prenom_expediteur" value="<?php if (isset($prenom_expediteur)) { echo $prenom_expediteur; } ?>" class="<?php if(!$Err_Prenom_Ex) { echo 'Ok'; } else { echo 'Erreur'; } ?>" /> <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />
                </td></tr>
                <tr><td>
                  <div align="right">Votre Email : </div>
                </td><td>
                <input type="text" name="email_expediteur" value="<?php if (isset($email_expediteur)) { echo $email_expediteur; } ?>" class="<?php if(!$Err_Email_Ex) { echo 'Ok'; } else { echo 'Erreur'; } ?>" /> <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />
                </td></tr>
          </table>
                
          </div>
          <br />
          <div id="Form">
            	<div id="Titre_Form">Identitée de Votre Ami(e)</div>
                <table width="100%">
                <tr>
                <td width="50%">
                  <div align="right">Nom de Votre Ami(e) : </div>
                </td>
                <td width="50%">
                <input type="text" name="nom_destinataire" value="<?php if (isset($nom_destinataire)) { echo $nom_destinataire; } ?>" class="<?php if(!$Err_Nom_De) { echo 'Ok'; } else { echo 'Erreur'; } ?>" />  <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />               
                </td></tr>
                <tr><td>
                  <div align="right">Prénom de Votre Ami(e) : </div>
                </td><td>
                <input type="text" name="prenom_destinataire" value="<?php if (isset($prenom_destinataire)) { echo $prenom_destinataire; } ?>" class="<?php if(!$Err_Prenom_De) { echo 'Ok'; } else { echo 'Erreur'; } ?>" /> <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />
                </td></tr>
                <tr><td>
                  <div align="right">Email de Votre Ami(e) : </div>
                </td><td>
                <input type="text" name="email_destinataire" value="<?php if (isset($email_destinataire)) { echo $email_destinataire; } ?>" class="<?php if(!$Err_Email_De) { echo 'Ok'; } else { echo 'Erreur'; } ?>" /> <img src="Design/Recommandation/Images/puce26.GIF" align="absmiddle" />
                </td></tr>
                </table>
                
          </div>
          <br />
          <div id="Form">
            	<div id="Titre_Form">Un Message a Votre Ami(e)</div>
                <table width="100%">
                <tr><td>
                Saisissez un message pour Votre Ami(e) : 
                </td></tr>
                <tr><td>
                <textarea name="message" rows="5" value="<?php if (isset($message)) { echo $message; } ?>"></textarea><br />
                Recevoir les informations du site <input type="checkbox" checked="checked" name="info" value="1" />
                </td></tr>
                </table>
                
          </div>

          <br />
          <div id="Envoi_Form"><input type="submit" name="submit" value="Envoyer" /></div>
          
        </form>
        <?php
		}
		else
		{
		?>
        <div id="Form">
        	<div id="Titre_Form">Recommandation Envoyée</div>
                <table width="100%">
                <tr>
                <td> 
                <img src="Design/Recommandation/Images/Vrai.jpg" class="flotte_gauche" />
                Bonjour <?php echo $prenom_expediteur; ?>,
                <br />
                Votre recommandation 
                à bien été envoyé à <?php echo $prenom_destinataire; ?>.
                <br /><br />
                <u>Voici le détail du message :</u>
                <br />
                <?php echo $MailEnvoye; ?>
                <br /><br />
                Merci 
                pour la confiance que vous accordez à notre site.
                <br />
                Cordialement,
                <br />
                <?php echo PROPRIO; ?>
                <br /><br />
                </td>
                </tr>
                </table>
        
        </div>
        <?php } ?>
        <br />
</div>
    
    <div id="Bas"><a href="<?php echo URL_SITE; ?>" target="_blank"><?php echo NOM_SITE; ?></a></div>
</body>
</html>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.