begin process at 2012 02 12 03:16:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > FORMULAIRE PHP + VERIFICATION + ENVOI DU MAIL

FORMULAIRE PHP + VERIFICATION + ENVOI DU MAIL


 Information sur la source

Note :
4,57 / 10 - par 7 personnes
4,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Classé sous :formulaire, verification, mail, envoi, fonctionnel Niveau :Débutant Date de création :18/08/2008 Date de mise à jour :21/08/2008 01:12:13 Vu :22 199

Auteur : cosmoswarezone1

Ecrire un message privé
Commentaire sur cette source (45)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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*/ ?>
<?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


 Historique

18 août 2008 22:19:28 :
Les commentaires sur le code sont sufisant je croi
18 août 2008 22:20:27 :
Si vous avez des suggestions c cool ;)
18 août 2008 22:59:39 :
J'attend vos commentaire MERCI
18 août 2008 23:29:12 :
:D
19 août 2008 22:00:36 :
Modification de return $var
19 août 2008 22:31:27 :
modification
20 août 2008 19:51:02 :
minuscule pour le css et modif de la fonction tel
20 août 2008 20:00:00 :
...
21 août 2008 01:12:14 :
Encore des modif ;p

 Sources du même auteur

MENU PHP QUI CHARGE UNE CLASSE LORS DE LA SELECTION
PHP EXTRAIRE DES MAILS D'UN GROS FICHIER LOCAL OU DISTANT

 Sources de la même categorie

Source avec une capture INTÉGRER À UNE BASE DE DONNÉES DES COORDONNÉES GÉOGRAPHIQUES... par slhuilli
Source avec Zip DÉCOMPOSER UN CODE PHP AVEC LA FONCTION INCLUDE par Julien39
CRÉATION D'UN SCRIPT D'AUTHENTIFICATION par phpAnonyme
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C par GillesWebmaster
PHP EXTRAIRE DES MAILS D'UN GROS FICHIER LOCAL OU DISTANT par cosmoswarezone1

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip ENVOI D UN MAIL SUR UNE PAGE WEB MULTIUTILISATEUR par angelz
Source avec Zip Source avec une capture MOULINETTE DE TEST POUR ÉVITER LES MESSAGES POUBELLES par rapidos
Source avec Zip FORMULAIRE EN PHP FLASH ENVOYER PAR MAIL par younes371
Source avec Zip RESTEZ TOUJOURS EN CONTACT ET RECEVEZ DES INFORMATIONS par abdelaziz_info

Commentaires et avis

Commentaire de coucou747 le 19/08/2008 06:07:34 administrateur CS

en php, on doit mettre :
<?php et pas <?

a la place de if ($foo){ return true; } else { return false; }
il faut mettre : return $foo; (au pire tu castes en boolean)

ca simplifierait des lignes comme :

#  if(preg_match($code_syntaxe,$var)){ // compare la syntaxe tel valide au tel saisie
# return true;
# }else{
# return false;
# }

le CSS doit-etre en minuscule.

Commentaire de cosmoswarezone1 le 19/08/2008 06:22:04

Salut coucou747

Je doit mettre <?php pour une question de fonctionalité ou de normalité?
car dans tout les cas les résultats est identique.

J'ai préféré utilisé la syntaxe :

#if ($foo){ return true; } else { return false; }

car elle est simple et compréhensible méme pour un débutant afin de comprendre la suite logique de mon code.
Dsl pour le css mais j'ai préféré le stoké dans plusieurs variable juste parceque je trouvé sa plus pratique.
J'ai fait cette source pour qu'elle soit rapidement utilisable méme pour un débutant qui ni connais rien au php.

Merci quand méme pour ton commentaire.

Commentaire de klicksoe le 19/08/2008 07:59:11

Il faut mettre <?php car c'est pour PHP5, <? c'est pour le PHP4 et si tu l'utilises sur un serveur en V5, tu risques d'avoir des bugs.

Pour ton CSS, il faudrait que tu évites de mettre "black", "white" et Cie pour préférer le code en hexadécimal "000", "FFF", ...
Il faudrait aussi que tu rajoutes des polices dans le "FONT-FAMILY", tout le monde n'a pas la police verdana et si tu veux que ton tableau garde ses dimensions, il te faudra bien les choisir ^^ (imagine juste que quelqu'un utilise par défaut la Arial Black ><) et 8pt, c'est un peu petit pour un mail, la valeur par défaut de ce genre de logiciel est 10 et ça marche très bien.

Commentaire de hug0_76 le 19/08/2008 10:03:54

Je ne vais pas faire plus de remarques, juste :
Que se passe t-il lorsque l'envoi du mail à échoué?

Commentaire de shaft_amine le 19/08/2008 12:06:23

Salut

j'ai tester votre code lorsque j'exécute j'ai cet erreur

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in e:\mes sites\test\msn\f mail.php on line 91

Pourriez vous me dire ça vient du quoi ? MERCI

Commentaire de klicksoe le 19/08/2008 12:23:25

@hug0_76 : tu as l'erreur de shaft_amine ^^

@Shaft_amine : Tu testes le script en local, certainement avec wamp, easyphp ou autre, mais la fonction mail n'est pas activée, d'où l'erreur.

Commentaire de hug0_76 le 19/08/2008 12:28:40

@shaft_amine
Ton erreur vient du fait que tu n'as pas de serveur SMTP. La fonction mail() n'arrive pas à créer de socket sur le port 25, en effet dans ta config php.ini le serveur smtp est configuré sur localhost.

D'où ma remarque juste avant ton commentaire ;)!

Commentaire de hug0_76 le 19/08/2008 12:31:34

@KLICKSOE

C'était de l'ironie ma question, c'était pour souligné une erreur supplémentaire... :p

Commentaire de klicksoe le 19/08/2008 13:42:47

Je le sais très bien hug0_76 ^^

Mais pour le problème de shaft_amine, le simple fait de modifier le fichier .ini ne suffira peut-être pas justement à cause du test en local.

Apparemment, il a installé le logiciel et basta, pas de config perso (le truc qu'il ne faut jamais faire. Il faut toujours prendre le soins de configurer ses logiciels et pas faire que cliquer sur suivant...).
D'où le fait que je lui dise de mettre ça sur un serveur ^^
Au moins, t'es sûr du résultat si la fonction mail est active sur le serveur en question.

Commentaire de coucou747 le 19/08/2008 15:22:56 administrateur CS 1/10

cosmoswarezone1> klicksoe>
<? pose un probleme avec le xml (<? xml ...)
donc si sur un site, t'as du xml et du php, tu ne peux pas mettre <?. donc sur les serveurs qui integrent le xml, on set short tag a off dans le php.ini

ton CSS, j'en ai rien a faire qu'il soit en plusieurs variables, je critique juste le fait qu'il soit en majuscule.

ton code chtml est crade (table, etc..)


# function verif_null($var){ // fonction qui verifie si le champs est vide
# if($var!=""){
# return true;
# }else{
# return false;
# }
# }
tu recodes la fonction isset

et desole, mais if ($foo){ return true; }else{ return false; } plutot que return $foo; c'est une erreur.

tu dis que ce code est pour debutant, or toutes ces erreurs font qu'un debutant prendra de mauvaises habitudes si il lit ton code.

bref, tu demandais des suggestions, t'as mis a jours pour en demander, mais sans rien corriger, et ensuite, une fois que t'as des suggestions, tu ne corriges pas ton code... c'est a n'y rien comprendre.

Commentaire de vincent7766 le 19/08/2008 16:15:54

Moi je paye un hébergement. Alors je me demandais si c'est moi qui a à changer le php.ini ou si je dois contacter mon hébergeur! J'aimerais vraiment mieux le faire moi même. Car, j'aimerais tester en local avant de poussé le script sur le server.

Merci

Commentaire de cosmoswarezone1 le 19/08/2008 16:28:06

Je suis en pleine correction. meri coucou747

Commentaire de vincent7766 le 19/08/2008 16:56:14

moi ce que je comprend pas c'est la variable foo.
Comment fonctionne t'elle?
Je trouve simple de vérifier qu'une variable n'égal pas undefined et de retourner true si elle existe et false si elle n'existe pas. S'il est possible de m'éclairer; ça serait vraiment apprécier.

Commentaire de coucou747 le 19/08/2008 17:12:42 administrateur CS

en php
0 == '' == null == false

mais :

0 !== ''
0 !== null
null !== false
false !== ''

c'est une question de typage.

mais sur cette source, l'auteur ne prete pas attention au typa,ge donc renvoyer 0 ou '' c'est pareil.

Commentaire de vincent7766 le 19/08/2008 17:22:27

d'accord je comprend. C'est vrai que c'est logique, il ne peux qu'avoir deux état: existante(1) et non existante(0). Donc pas besoin de faire 2 conditions

Commentaire de vincent7766 le 19/08/2008 17:24:36

dsl, on a besoin des 2 conditions.

Commentaire de webdeb le 19/08/2008 21:16:13

@Kliksoe :

>> Il faut mettre <?php car c'est pour PHP5, <? c'est pour le PHP4 et si tu l'utilises sur un serveur en V5, tu risques d'avoir des bugs.

Bien sûr c'est une blague... Rien à voir avec PHP 5 et PHP 4. C'est tout simplement que les short tags peuvent être désactivés sur les configurations de PHP dignes de ce nom, qu'elles soient en PHP 4, PHP 5 ou PHP 6.

>> Pour ton CSS, il faudrait que tu évites de mettre "black", "white" et Cie pour préférer le code en hexadécimal "000", "FFF", ...

Faux ! le code hexadécimal n'est en rien préférable au nom complet en anglais. Bien au contraire même puisque j'avais lu quelque part que le W3C recommandait même leur utilisation plutôt que les codes hexa.

>> Il faudrait aussi que tu rajoutes des polices dans le "FONT-FAMILY", tout le monde n'a pas la police verdana

Enfin le Verdana est une police "safe" celà dit... Si tu avais parlé de Myriad Pro par exemple, j'aurais été d'accord avec toi mais pour du Verdana c'est discutable. De toute façon, avant de se poser la question de la CSS dans son code, il devrait commencer par se poser celle du HTML...

Commentaire de cosmoswarezone1 le 19/08/2008 22:37:46

j'ai corrigé le code mais je ne voi pas comment mettre en minuscule le css

Commentaire de coucou747 le 20/08/2008 06:28:17 administrateur CS

mettre un truc en minuscule, c'est transformer 'A' en 'a', et idem pour toutes les autres lettres de l'alphabet.

Commentaire de webdeb le 20/08/2008 08:48:33

T'en es sûr Coucou747 ? ^^

Commentaire de coucou747 le 20/08/2008 15:41:54 administrateur CS

# 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;
# }
# }

mais... non !

une fonction de verif, ca renvoie vrai ou faux... la tu renvoies une chaine ou rien...

function verif_tel($var) // fonction qui verifie si le n° de tel est correct
{
return preg_match('#[0-9]{9,18}#',$var);
}

(et ta regexp est fausse, il manque un ^ au debut, et un $ a la fin, sinon : toto0202020202 est valide)

Commentaire de webdeb le 20/08/2008 16:50:14

La regex est fausse quoiqu'il en soit si tu cherches à saisir un numéro de téléphone français. On devrait avoir ces possibilités :

^(0([1-6]|8))[0-9]{8}$

Ce qui permet les numéros 01/02/03/04/05/06 ou 08 suivi de 8 chiffres.

++

Commentaire de coucou747 le 20/08/2008 17:07:58 administrateur CS

je crois que les numeros de *box ne metchent pas ta regexp.

sinon, 911, 17, etc... ca ne passe pas non plus.

Commentaire de cosmoswarezone1 le 20/08/2008 19:54:38

coucou747
Chacun peu modifier comme il veut les fontctions moi je n'ai pas l'utilité des numéros francais.
Merci pour ta note et pour tes commentaires.

Commentaire de coucou747 le 20/08/2008 20:15:57 administrateur CS

tu pourrais quand meme en tennir compte...
parce-qu'en l'etat, ta source ne sert a rien...

Commentaire de cosmoswarezone1 le 21/08/2008 00:12:50

les changements que j'ai fait ne te convienne pas?
ma source sert, elle est fonctionnel.

Commentaire de coucou747 le 21/08/2008 00:50:14 administrateur CS

$code_syntaxe='^#[0-9]{9,18}#$';

max@max-laptop:~$ php -r "preg_match ('^#[0-9]{9,18}#$', 'toto05050505050505');"

Warning: preg_match(): No ending delimiter '^' found in Command line code on line 1

tu devrais tester avant de mettre a jours...

Commentaire de Optitech le 21/08/2008 18:11:05

Coucou747 :
"# function verif_null($var){ // fonction qui verifie si le champs est vide
# if($var!=""){
# return true;
# }else{
# return false;
# }
# }
tu recodes la fonction isset"

NON ! Une varaible peut être definit mais avoir comme valeur NULL (c'est trés pratique quand tu fait des arbres) il a juste recodé is_null

Commentaire de coucou747 le 21/08/2008 18:22:06 administrateur CS

en effet, je me suis plante avec !empty sa fonction, c'est not o empty

Commentaire de cosmoswarezone1 le 21/08/2008 18:42:36

bon voila c'était mon premier code que je met sur le net,
on va dire que sa fait pas mal de temps que je code de temps en temps,
je vois qu'il y a u aucun commentaire positif,
pourtant le formulaire marche et est facil a comprendre,
1/10 c'est vraiment bas comme note.
Vraiment je croyais que ce formulaire serais utiles pour certaine personne.
Alors dsl si sa na pas été le cas, je le laisse quand méme.
Allé A+

Commentaire de neigedhiver le 22/08/2008 14:34:25

Salut,

Juste quelques précisions au sujet des coleurs et des polices dans les CSS :

1/ Mieux vaut utiliser les codes couleurs que les noms :

"Use numbers, not names, for colors

Color names also vary from one platform to another. CSS supports 16 color names: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, yellow, white. Some browsers have chosen to support additional color names, but there is no definite list. Therefore, you should: use numbers, not names, for colors . Color names may seem friendlier than the somewhat cryptic RGB notation introduced in the previous chapter, but the Web has yet to see the ultimate list of color names that work on all platforms. Color numbers, on the other hand, can easily be interpreted by any browser."

Source : http://www.w3.org/WAI/GL/css2em.htm#pgfId=46757

2/ Quant à la police, un passage d'un CSS au validateur JigSaw du W3C (http://jigsaw.w3.org/css-validator/) indique, le cas échéant, qu'il faut TOUJOURS préciser un nom de police générique. Ces polices sont indiquées ici : http://www.w3.org/TR/REC-CSS2/fonts.html#generic-font-families
Les autres polices, y compris Verdana, ne SONT PAS génériques. Elles sont présentes sur la plupart des navigateurs, certes. C'est juste dans un soucis de portabilité (en plus de la conformation aux standards).

Voilà, j'ai rien d'autre à dire... Bonne journée :)

Commentaire de aladeuil le 25/08/2008 07:00:11 1/10

Désolé d'être aussi sec, mais la prochaine fois que tu n'as rien à faire l'aprés midi, essaye la sieste. Ce type de code n'apporte pas grand chose au développeur lambda, mon fils sait le faire et il a 12 ans...
Epate nous, tu dois avoir autre chose de plus croustillant, non ?

Commentaire de coucou747 le 26/08/2008 04:34:03 administrateur CS

Oo... il s'auto-note, et se felicite lui meme...

Commentaire de aladeuil le 26/08/2008 06:28:24

@cosmoswarezone1, si je puis me permettre :
C'est sympa de contribuer mais sur ce coup là, tout le monde sait faire ça. Par contre, il serait bon d'utiliser un html un peu plus moderne, tous les éléments de mise en forme utilisant des attributs DEPRECATED (va faire un tour sur le w3c). Il serait utile aussi de mettre une action sur ton formulaire non ? Ca partirait peut être mieux le post...
Bon courage

Commentaire de Palleas_44 le 26/08/2008 07:23:37 1/10

Mais LOL, cosmoswarezone1 tu sais qu'on voit que le commentaire et la source sont de toi ou pas ? Pourquoi tu viens te mettre un 10/10 ? C'est dingue !

Commentaire de stay le 28/08/2008 14:43:49 1/10

Je te conseil le JQuery pour les formulaires.
C'est bien plus propre.

Commentaire de patdoc63 le 18/03/2009 18:41:04 10/10

Merci beaucoup ! En tant que débutant j'aprécie beaucoup ce code qui est bien commenté.

Commentaire de tunfilsdepute le 15/06/2009 14:26:17 10/10

Une note pour le code et pour l'effort

Commentaire de Sebounet31 le 13/07/2009 23:12:14

et si j'ai une adresse en fr.com? Un 8 pour l'effort mais ça reste un code basique.

Commentaire de slimani_1 le 01/11/2009 23:23:55

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\test mail\index.php on line 90
Tout les champs sont valider le mail est envoyé. Merci

Commentaire de patrickbangkok le 18/09/2010 10:21:44

Bonjour Moon.
J'ignore si tu encore en ligne mais j'essaye.
Malgre tous ces commentaires "constructifs", j'ai commence a comprendre ton code (je suis un debutant qui cree un site).
A l'execution avec WAMP 2.2 le message indique que le mail a ete envoye mais je ne recois rien dans ma BAL.
Peux tu m'aider ?
Cordialement.

Commentaire de babylone7 le 29/12/2010 20:01:15

Bonsoir Moon,

J'aimerais soumettre ce formulaire et non l'envoyer par mail mais quand j'ajoute "action=mapage.php" dans la balise <form>, du coup il zappe la fonction verif_form, malgré un "return false" dans cette fonction en cas de formulaire incorrect.

Peux-tu m'aider ?

Merci

Florence

Commentaire de Pat_07 le 25/01/2011 14:25:04

Salut à tous.

Ce code est vraiment super et d'une grande aide.
Le seul truc, c'est que chez moi le bouton Effacer ne fonctionne pas si juste avant on a essayer d'Envoyer le formulaire alors qu'un champ obligatoire n'était pas rempli...
Si vous avez des idées, d'avance merci !

Pat.

Commentaire de chacmhaal le 02/02/2011 16:51:28 8/10

alors contrairement à ce que peux dire je ne sais plus quel blaireau, non tous le monde ne sait pas faire ça, moi je débute (je ne sais utiliser que l'include, c'est dire si je débute) et son code m'aide bien et à plusieurs titre notamment pour répondre a ma question de gros débutant: ou place-t-on précisemment les hmtmlentities, reponse que je n'avais trouvé nullepart. Donc ce code est bien utile quand même

Commentaire de stay le 02/02/2011 21:19:44

Bonsoir à tous,

A la date du 28/08/2008 14:43:49, j'avais parlé de jQuery, et je crois que personne en prend conscience.
jQuery validate :
La documentation : http://docs.jquery.com/Plugins/Validation
Une petite demo sur ce site : http://jquery.bassistance.de/validate/demo/

Pour moi, coté client, le code html doit être riche en contenu et rien d'autre.
Même pour un formulaire, la librairie (jQuery validate) gère très bien les messages d'erreurs à afficher + les contraintes, nombre de caractère, teste si l'e-mail est valide.
Pas la peine de créer soi même en css des couleurs rouge et des messages d'erreurs ets, ...

Par contre coté serveur (PHP), après le submit, par sécurité, il est bien de refaire des testes.

PS: Pour les débutants, n'oubliez pas que ce code a été posté il y a plusieurs années.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Récupérer données formulaire + envoi par e-mail [ par kronprinz ] Quelqu'un peut-il m'aider ?Je cherche comment récupérer des données dans un formulaire et me les envoyer par e-mail avec PHP. Pouvez-vous m'expliquer Formulaire d'envoi de mail en HTML [ par slhuilli ] Bonjour,Je suis a la recherche d'un script (PHP si possible) pour pouvoir écrire des mails au format HTML (gestion des gras, souligné et italique ains champs formulaire obligatoire [ par Blacknight91titi ] Salutvoila j'aimerai savoir comment faire pour que dans un formulaire on soit obliger de remplir certain champs, et si un parmis eu n'est pas rempli a Envoi mail pour formulaire!!!!!!!! [ par Skyyyy ] Bonsoir tout le monde!!bon jai cree un site avec une section membre et jaurai voulu inclure une page pour sincrire genre: login ,pass crypte(cache par Envoi de plusieur mail grace a un formulaire ? [ par Blacknight91titi ] SalutAlors voilaj'ai un code qui envoi un mail lorsque l'on envoi le formulaire.Il a aussi un système de vérification de mail.J'aimerai que le formul Formulaire + envoi mail [ par elzoc ] Bonjour,J'ai un pbl de reception mail via mon formulaire.En fait à l'envoi j'ai des receptions aléatoires. Lorsque je fais F5 ça marche à nouveau mais Envoi d'un mail via un formulaire [ par Son_of_the_Sun ] Bonjour a tous voila mon probleme: je fais un site internet pour une g&#233;rante de site rural et j'aimerais qu'il contienne un page en PHP permettan envoi certain élément d'un formulaire à une adresse mail [ par justine75 ] bonjour!j'aimerais envoyer certains &#233;l&#233;ments d'un formulaire d'inscription, tels que le pseudo et le mot de passe, &#224; l'adresse mail fou Insertion et envoi d'un mail des valeurs d'un formulaire [ par ybporta ] Hello, je voudrais insérer les données d'un formulaire dans une table et envoyer un mail à un seul contact les mêmes informations. J'arrive bien les f verification & envoi des infos d'un formulaire petite aide svp [ par Mascotte_Alex ] Bonsoir, je suis actuellement a la recherche d'un petit formulaire me permettant de creer 3 champsNomAdresse Mail Votre QuestionCreer le formulaire je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales