IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoyer un e-mail avec mon formulaire


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Par défaut Envoyer un e-mail avec mon formulaire
    Bonjour,

    J'ai un formulaire qui fonctionne très bien ( form.php ), le problème une fois que tout les champs on ete remplis la je ne sais pas comment je dois faire pour envoyer les données du formulaires sur mon email ??

    voici mon fichier form.php et le fichier validator.php

    le fichier form.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    <?php  
    include ("validator.php"); 
    $test = new testTools("fielderror"); 
     
    if ($_POST["f"]==1) {  
      $formPrenom = $test->secure($_POST["Prenom"]); 
     
      $formNom = $test->secure($_POST["Nom"]); 
      $test->stringtest($formNom,"Nom"); 
     
      $formSociete = $test->secure($_POST["Societe"]); 
      $test->stringtest($formSociete,"Societe"); 
     
      $formFonction = $test->secure($_POST["Fonction"]); 
      $formAdresse = $test->secure($_POST["Adresse"]); 
      $formTelephone = $test->secure($_POST["Telephone"]); 
     
      $test->mailtest($_POST["Mail"],"Mail"); 
     
      $formCommentaires = $test->secure($_POST["Commentaires"]); 
      $test->stringtest($formCommentaires,"Commentaires"); 
     
      if ($test->Count==0) { 
        //Traitement lorsque tous les tests sont passés avec succès 
     
        //header("location: mrci.html"); 	 
     
      } 
    } 
    ?> 
    <html> 
    <head> 
    <title>Test de formulaire</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <style type="text/css"> 
      .fielderror { color: red; } 
      .fieldreq { color: blue;} 
    </style> 
    </head> 
    <body> 
    <form action="form.php" method="post" name="Contact" id="Contact"> 
    Veuillez s'il vous plait remplir les champs suivants: <br><br> 
    <?php 
    if ($_POST["f"]==1) 
      echo "Les champs en rouge doivent être remplis!";                
    ?> 
    <strong class="<?=$test->fieldError("Nom","fieldreq")?>">Nom:</strong> <br> 
    <input name="Nom" type="text" class="textbox" size="50" value="<?=$formNom?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Prenom","fieldreq")?>">Prénom</strong>: <br> 
    <input name="Prenom" type="text" class="textbox" id="Boite" size="50" value="<?=$formPrenom?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Societe","fieldreq")?>">Soci&eacute;t&eacute;</strong>: <br> 
    <input name="Societe" type="text" class="textbox" id="Boite" size="50" value="<?=$formSociete?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Fonction","fieldreq")?>">Fonction:</strong> <br> 
    <input name="Fonction" type="text" class="textbox" id="Fonction" size="50" value="<?=$formFonction?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Adresse","fieldreq")?>">Adresse:</strong> <br> 
    <input name="Adresse" type="text" class="textbox" id="Fonction" size="50" value="<?=$formAdresse?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Telephone","fieldreq")?>">Téléphone</strong> <br> 
    <input name="Telephone" type="text" class="textbox" id="Fonction" size="50" value="<?=$formTelephone?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Mail","fieldreq")?>">Mail:</strong> <br> 
    <input name="Mail" type="text" class="textbox" id="Mail" size="50" value="<?=$_POST["Mail"]?>" maxlength="50"> 
    <br> 
    <br> 
    <strong class="<?=$test->fieldError("Commentaires","fieldreq")?>">Commentaires: </strong><br> 
    <textarea name="Commentaires" cols="50" rows="10" class="textbox" id="Commentaires"><?=$formCommentaires?></textarea> 
    <br> 
    <br> 
    <input name="Submit2" type="submit"  value="Envoyer"> 
    <input name="Submit2" type="reset"  value="Annuler"> 
    <input type="hidden" name="f" value="1"> 
    </form> 
    </body> 
    </html>
    le fichier validator.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <?php 
    class testTools { 
      var $errTab; //Tableau contenant les erreurs détectées 
      var $Count; //Variable contenant le nombre d'erreurs détectées 
      var $fstyle; //Nom du style CSS par défaut quand il y a une erreur. 
     
      //Constructeur de la classe ici on passe en paramêtre le nom du style d'erreur par defaut. 
      function testTools($fstyle) 
      { 
        $this->Count=0; 
        $this->fstyle=$fstyle; 
      } 
     
      //Fonction qui permet de securiser un champ texte de manière à pouvoir être stocké dans une base de données. 
      //Si vous voulez autoriser les tag HTML alors il faut mettre la ligne du strip_tags en commentaire. 
      function secure($var) 
      { 
        $vars=$var; 
        if (!is_numeric($var)) 
        { 
          $vars=htmlentities($vars,ENT_QUOTES);  //utile pour éviter une grande partie des SQL injections 
          $vars=strip_tags($vars); 
        } 
        return $vars; 
      } 
     
      //Fonction principale de la classe qui ajoute un nom de style CSS à un nom de champ de formulaire. 
      function add($title,$style) 
      { 
        $this->errTab[0][$this->Count]=$title; 
        $this->errTab[1][$this->Count++]=$style; 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type EMAIL. 
      function mailtest($var,$name) 
      { 
        if (!eregi("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\\.)+[a-z]{2}([zmuvtg]|fo|me)?$",$var)) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type INT. 
      function inttest($var,$name) 
      { 
        if (($var==0)||(!is_numeric($var))) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type TIME. 
      function timetest($varh,$varm,$vars,$name) 
      { 
        if ((($varh>24)||($varm>59)||($vars>59))||(($varh<0)||($varm<0)||($vars<0))) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type URL. 
      function urltest($var,$name) 
      { 
        if ((substr($var,0,4)!="www.")&&(substr($var,0,7)!="http://")) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type STRING. 
      function stringtest($var,$name) 
      { 
        if (strlen(trim($var))==0) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type DATE. 
      function datetest($var1,$var2,$var3,$name) 
      { 
        if (!checkdate($var2,$var1,$var3)) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui recherche un style CSS associé à un champ donné. 
      function fieldError($name,$default) 
      { 
        if (is_array($this->errTab[0])) 
          foreach($this->errTab[0] as $key => $value) 
          { 
            if ($value==$name) 
              return $this->errTab[1][$key]; 
          } 
        return $default; 
      } 
     
    } 
    ?>

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    apparemment tu as déjà toutes les valeurs donc pour envoyer l'e-mail regarde ces tutoriels :
    http://a-pellegrini.developpez.com/tutoriels/php/mail/
    http://stephaneey.developpez.com/tut...php/phpmailer/

  3. #3
    Membre éclairé
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Par défaut
    Bonsoir,

    Dans le fichier form.php à la ligne ou il teste si le traitement sont passés avec succès j'ai essayer avec ceci et je ne reçois aucun mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     if ($test->Count==0) { 
        //Traitement lorsque tous les tests sont passés avec succès 
     
        <?php
    $TO = "test@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($HTTP_POST_VARS)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $subject, $message, $h);
     
    Header("Location: http://<URL de la page de remerciement>");
     
    ?>
     
      }

Discussions similaires

  1. [IP-2010] Envoyer un mail avec un formulaire en corps de message en c#
    Par Locuste dans le forum InfoPath
    Réponses: 0
    Dernier message: 19/04/2011, 09h51
  2. Envoyer un e-mail avec un formulaire
    Par VIRGINIE87 dans le forum Langage
    Réponses: 15
    Dernier message: 06/11/2009, 16h10
  3. prob avec mon formulaire d'envoi de mail
    Par zorba49 dans le forum ASP
    Réponses: 12
    Dernier message: 06/02/2007, 11h52
  4. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27
  5. php : probleme avec mon formulaire
    Par rane dans le forum Langage
    Réponses: 39
    Dernier message: 29/06/2006, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo