Formulaire php + verification + envoi du mail

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 640 fois - Téléchargée 15 fois

Contenu du snippet

C'est un simple formulaire pour envoyer un mail, il suffit simplement de faire un copier/coller sur ton code, j'ai tout mit sur une page car c'est plus simple, il faut modifier l'email c'est tout. J'avais rien a faire cette aprem alors j'ai fait ce pti code ;)
Jéspére que cette source vous sera utiles :D

Source / Exemple :


<?php
//**************** CREE PAR MOUNIR R'QUIBA (MOON) (cosmoswarez@msn.com) ******************
//               18/08/2008                           !! COPYRIGHT !!
//--------A utiliser sans moderation :D --------------------------------------------------
//FORMULAIRE PHP + VERIFICATION + ENVOI DU MAIL

$webmaster = "tonmail@tonsite.com"; // METTRE TON MAIL ICI

// Style pour le input et le textarea 
$style_input_blanc = "style =    
\"font-family: verdana;
border-right: solid #000000 1px;
border-TOP: solid #000000 1px;
font-size: 8pt;
border-left: solid #000000 1px;
color: #000000;
border-bottom: solid #000000 1px;
background-color: #ffffff \"";

$style_input_rouge ="style = 
\"font-family: verdana;
border-right: solid #000000 1px;
border-top: solid #000000 1px;
font-size: 8pt;
border-left: solid #000000 1px;
color: #000000;
border-bottom: solid #000000 1px;
background-color: #ff0000 \"";

$style_textarea_blanc = "style = \"
font-family: verdana;
border-right: solid #000000 1px;
border-top: solid #000000 1px;
FONT-size: 8pt;
border-left: solid #000000 1px;
color: #000000;
border-bottom: solid #000000 1px;
background-color: #ffffff\"";

$style_textarea_rouge = "style = \"
font-family: verdana;
border-right: solid #000000 1px;
border-top: solid #000000 1px;
font-size: 8pt;
border-left: solid #000000 1px;
color: #000000;
border-bottom: solid #000000 1px;
background-color: #ff0000\"";
// Fin du style

if(isset($_POST['envoyer'])){ // si une action est faite par l'utilisateur
    
    $alerte = $_POST['envoyer']; //chargement du button envoyer
    $nom = htmlentities($_POST['nom'], ENT_NOQUOTES); // chargement du nom + mise en forme de la varible
    $mail = htmlspecialchars($_POST['mail'], ENT_QUOTES); // chargement du mail  + mise en forme de la varible
    $tel = htmlspecialchars($_POST['tel'], ENT_QUOTES); // chargement du tel + mise en forme de la varible
    $sujet = htmlspecialchars($_POST['sujet'], ENT_QUOTES); // chargement du sujet + mise en forme de la varible
    $message = htmlspecialchars($_POST['msg'], ENT_QUOTES); // chargement du message + mise en forme de la varible
	
}

function verif_null($var){ // fonction qui verifie si le champs est vide
    if($var!=""){
     return $var;
   }
}

function verif_mail($var) // fonction qui verifie si le mail est correct et si le champs est vide
{
   $code_syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; // chargement de la syntaxe mail valide  
      if(preg_match($code_syntaxe,$var)){ // compare la syntaxe mail valide au mail saisie
        return $var;
      }   
}

function verif_tel($var) // fonction qui verifie si le n° de tel est correct 
{
   $code_syntaxe='#^[0-9]{9,18}$#'; // chargement de la syntaxe tel valide  
      if(preg_match($code_syntaxe,$var)){ // compare la syntaxe tel valide au tel saisie
        return $var;
      }
}
function envoi_mail($webmaster,$nom,$mail,$sujet,$tel,$message){ //fonction qui envoie le mail
       $contenu_message = "Nom : ".$nom."\nMail : ".$mail."\nSujet : ".$sujet."\nTelephone : ".$tel."\nMessage : ".$message;
	   $entete = "From: ".$nom." <".$mail."> \nContent-Type: text/html; charset=iso-8859-1";
	 
       mail($webmaster,$sujet,$contenu_message,$entete);
	
	   
}
 

function verif_form($webmaster,$nom,$mail,$sujet,$tel,$message){ //fonction qui verifie si le formulaire est pret a etre envoyer
        if(verif_null($nom) && verif_null($sujet) && verif_null($message) && verif_tel($tel)&& verif_mail($mail)){ // verifie si toute les fontions sont a true
		   envoi_mail($webmaster,$nom,$mail,$sujet,$tel,$message);
		   echo "<font color=\"red\"  size=\"3\" face=\"Verdana, Arial, Helvetica, sans-serif\" ><strong>Tout les champs sont valider le mail est envoyé. Merci</strong></font><br>"; // Le mail est envoyé
		}else{
		   echo "<font color=\"red\" size=\"3\" face=\"Verdana, Arial, Helvetica, sans-serif\" ><strong>Veuillez saisir correctement tous les champs en rouge.</strong></font><br>"; // Une erreur dans le formulaire
		}
}

?>

<br />
<?php 
if(isset($alerte)){ // verifi si l'utilisateur a fait l'action d'envoyer
   verif_form($webmaster,$nom,$mail,$sujet,$tel,$message); 
}
?>
<br />

<?php /* FORMULAIRE DEBUT */ ?>

<form method="post">
  <table width="44%" height="317" border="0">
    <tr>
      <td width="14%" align="left" valign="middle">
	  <font size="3" face="Verdana, Arial, Helvetica, sans-serif"> Nom :</font>
      </td>
      <td width="86%">
	 <input type="text" name="nom"  size="50" 
	 <?php  if(isset($alerte)){  //si verif_null est false on background en rouge 
              if(verif_null($nom)){ 
                 echo $style_input_blanc; 
              }else { 
                echo $style_input_rouge; 
              }
           } ?> 
        value="<?php  if(isset($alerte)){ echo $nom; } ?>"> 
      </td>
    </tr>
    <tr>
      <td align="left" valign="middle">
	  <font size="3" face="Verdana, Arial, Helvetica, sans-serif">Mail :</font></td>
      <td>	    
	 <input type="text" name="mail" size="50"  
	 <?php  if(isset($alerte)){  //si verif_mail est false on background en rouge 
              if(verif_mail($mail)){ 
                 echo $style_input_blanc; 
              }else { 
                echo $style_input_rouge; 
              }
           } ?> 
        value="<?php  if(isset($alerte)){ echo $mail; } ?>">  
      </td>
    </tr>
    <tr>
      <td valign="middle">
      <font size="3" face="Verdana, Arial, Helvetica, sans-serif">Tel :</font></td>
      <td>  
	 <input type="text" name="tel" size="20"  
	 <?php  if(isset($alerte)){  //si verif_tel est false on background en rouge 
              if(verif_tel($tel)){ 
                 echo $style_input_blanc; 
              }else { 
                echo $style_input_rouge; 
              }
           } ?> 
        value="<?php  if(isset($alerte)){ echo $tel; } ?>"> 
      </td>
    </tr>
      <td align="left" valign="middle">
	 <font size="3" face="Verdana, Arial, Helvetica, sans-serif">Sujet :</font>
      </td>
      <td>
	<input type="text" name="sujet" size="50" 
        <?php  if(isset($alerte)){  //si verif_null est false on background en rouge 
              if(verif_null($sujet)){ 
                 echo $style_input_blanc; 
              }else { 
                echo $style_input_rouge; 
              }
           } ?> 
        value="<?php  if(isset($alerte)){ echo $sujet; } ?>"> 
      </td>
    </tr>
    <tr>
      <td height="181" valign="top">
	 <font size="3" face="Verdana, Arial, Helvetica, sans-serif">Message : </font>
      </td>
      <td valign="top">  
<textarea name="msg"  cols="47" rows="10" <?php  if(isset($alerte)){ if(verif_null($message)){ echo $style_textarea_blanc; }else { echo $style_textarea_rouge; }} ?> ><?php  if(isset($alerte)){ echo $message; } ?></textarea>
      </td>
    </tr>
    <tr>
      <td>
        &nbsp;  
      </td>
      <td>
	<input type="submit"  name="envoyer" value="Envoyer">
        &nbsp;&nbsp;
        <input type="reset" value="Effacer" name="effacer" >
      </td>
    </tr>
  </table>
</form>
<? /* FOMULAIRE FIN*/ ?>

Conclusion :


Bon ben si vous avez des questions surtout nézité pas

A+
Moon

A voir également

Ajouter un commentaire

Commentaires

j'ai essayé ton code mais ça me met une erreur bizarre
en plus ça ne me renvoie aucune donnée
si tu pouvais m'aider en verifier pourqu'oi cet erreur à mon poste et pour quoi j'arrive pas à recevoir les mails dans ma boite gmail vu que le mail a été envoyé
Aidez- moi j'ai trop galeré avec l'envoit des mails en php en local; surtout au niveau de la configuration du smtp sous Easyphp
Merci à tous ceux qui me donnerons un coup de pouce
j'ai testé le code apparemment le mail est a été envoyé mais un message d'erreur s'affiche:
Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. l74sm2154429wmg.2 - gsmtp in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\binaries\home\codesource.php on line 87
shaft_amine
Messages postés
58
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
1 février 2018

chahlaoui1amna tu peut installer iis seulement il fonctionne parfaitement avec la fonction email .... OK
cs_stay
Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
Salut, tu dois configurer le serveur SMTP avec le SMTP de ton fournisseur d'accès internet.
Par exemple, si tu es chez Orange dans le fichier php.ini, tu modifies la valeur (http://www.php.net/manual/fr/mail.configuration.php#ini.smtp) par ceci :
SMTP = smtp.orange.fr

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.