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 :

Probleme formulaire PHP


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Probleme formulaire PHP
    Bonsoir à tous,
    Je viens désespérément chercher du secours après trois jours de combat intensif avec un "$£€%+#" formulaire en html et php.
    Je suis totalement débutant mais passionné et...d'ordinaire patient et obstiné, mais la, je craque...
    Désireux d'insérer un formulaire dans mon site. J'ai parcouru des dizaines de tutos et autres sites conseils pour éclaircir le sujet.
    J'ai copié des codes que j'ai tenté d'adapter.
    J'ai donc actuellement deux pages, l'une nommée "contact.html" et l'autre "verif.php".
    Seulemnt, lorsque j'envoie mon formulaire. j'ai le message d'erreur suivant : "Vous devez d'abord envoyer le formulaire".


    Voici le code concernant le formulaire de "contact.html" :

    Code html : 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
    <div class="content">
    <form id="contact" method="post" action="verif.php">
     
     
      <fieldset>
        <legend>Étape 1 : Vos coordonnées</legend>
        <ol>
          <li>
            <label for="nom">Nom</label>
            <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
            </li>
     
          <li>
            <label for="email">Email</label>
            <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
            </li>
     
          <li>
            <label for="telephone">Téléphone</label>
            <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
            </li>
     
          </ol>
     
        </fieldset>
     
     
      <fieldset>
        <legend>Étape 2 : Votre évènement</legend>
        <ol>
          <li>
            <label for="adresse">Adresse de votre manifestation</label>
            <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
            </li>
     
     
          <li>
            <label for="date">Date</label>
            <input id="date" name="date" type="text" required="required" />
            </li>
     
     
          <li>
            <label for="invit">Nbre d'invités</label>
            <textarea id="invit" name="invit" rows="1" ></textarea>
            </li>
     
          </ol>
     
        </fieldset>
     
      <fieldset>
        <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
     
        <ol>
          <li>
     
            <label for="comment">Commentaires</label>
            <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
            </li>
          </ol>
        </fieldset>
      <fieldset>
        <button type="submit">Envoyer</button> 
        </fieldset>
     
     
     
    </p>
     
    </form>





    et voici le code de "verif.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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    <?php
    	/*
    		********************************************************************************************
    		CONFIGURATION
    		********************************************************************************************
    	*/
    	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    	$destinataire = 'monmail@monmail.fr';
     
    	// copie ? (envoie une copie au visiteur)
    	$copie = 'non'; // 'oui' ou 'non'
     
    	// Messages de confirmation du mail
    	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'intérêt porté à notre formation. Nous vous répondrons dans les plus brefs délais";
    	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite.html>envoyer le formulaire</a>.";
    	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
     
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
     
    	// on teste si le formulaire a été soumis
    	if (!isset($_POST['envoi']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/*
    		 * cette fonction sert à nettoyer et enregistrer un texte
    		 */
    		function Rec($text)
    		{
    			$text = trim($text); // delete white spaces after & before text
    			if (1 === get_magic_quotes_gpc())
    			{
    				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
    			}
    			else
    			{
    				$stripslashes = create_function('$txt', 'return $txt;');
    			}
     
    			// magic quotes ?
    			$text = $stripslashes($text);
    			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    			$text = nl2br($text);
    			return $text;
    		};
     
    		/*
    		 * Cette fonction sert à vérifier la syntaxe d'un email
    		 */
    		function IsEmail($email)
    		{
    			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    			return (eregi($pattern,$email)) ? true : false;
    		};
     
    		// formulaire envoyé, on récupère tous les champs.
    		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
    		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
    		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
    		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
    		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
     
    		// On va vérifier les variables et l'email ...
    		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		if (($nom != '') && ($email != '') && ($telephone != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
    		{
    			// les 4 variables sont remplies, on génère puis envoie le mail
    			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
     
    			// envoyer une copie au visiteur ?
    			if ($copie == 'oui')
    			{
    				$cible = $destinataire.','.$email;
    			}
    			else
    			{
    				$cible = $destinataire;
    			};
     
    			// Remplacement de certains caractères spéciaux
    			$message = str_replace("'","'",$message);
    			$message = str_replace("'","'",$message);
    		    $message = str_replace("\"",'"',$message);
     
    			$message = str_replace('<br>','',$message);
    			$message = str_replace('<br />','',$message);
    			$message = str_replace("&lt;","<",$message);
    			$message = str_replace("&gt;",">",$message);
    			$message = str_replace("&amp;","&",$message);
    			// Envoi du mail
    			if (mail($cible, $objet, $message, $headers))
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des 3 variables (ou plus) est vide ...
    			echo '<p>'.$message_formulaire_invalide.' <a href="monsite.html">Retour au formulaire</a></p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
    ?>


    Pouvez vous s'il vous plait éclairer mes lanternes et me sortir de l'impasse...
    D'avance merci
    Salutations

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_POST['envoi']))
    Je ne vois pas de champ "envoi" dans ton formulaire, donc tu rentres toujours dans cette condition...

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ; si cette partie que j'utilise pour vérifier mon formulaire essaye de l'adapter a ton forms
    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
    if (isset($_POST["envoyer"])){ // Si le formulaire a été soumis
    	$etat = "erreur"; // On initialise notre etat à erreur, il sera changé à "ok" si la vérification du formulaire est un succès, sinon il reste à erreur
     
    	// On récupère les champs du formulaire, et on arrange leur mise en forme
    	if (isset($_POST["ident"])) $_POST["ident"]=trim(stripslashes($_POST["ident"])); // trim()  enlève les espaces en début et fin de chaine
     
    	if (isset($_POST["pass"])) $_POST["pass"]=trim(stripslashes($_POST["pass"])); // stripslashes()  retire les backslashes ==> \' devient '
     
    	// Après la mise en forme, on vérifie la validité des champs
    	if (empty($_POST["ident"])) { // L'utilisateur n'a pas rempli le champ pseudo
    		$erreur=" Veuillez renseigner le champ identifiant..."; // On met dans erreur le message qui sera affiché
    	}
    	elseif (empty($_POST["pass"])) { // L'utilisateur n'a pas rempli le champ email
    		$erreur=" Veuillez renseigner le champ Mot de passe...";
    	}
    	else { // Si tous les champs sont valides, on change l'état à ok
    		$etat="ok";
    	}
    }
    if ($etat!="ok"){ // Le formulaire a été soumis mais il y a des erreurs (etat=erreur) OU le formulaire n'a pas été soumis (etat=attente)
    	if ($etat=="erreur"){ // Cas où le formulaire a été soumis mais il y a des erreurs
    		echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n"; // On affiche le message correspondant à l'erreur
    	}
    NB/ ce n'est qu'une partie du code , il manque le retour du formulaire en cas d'erreur.
    j'ai pas fini encore Ok

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Ca progresse
    Bonjour !!
    Et merci Bovino!! Quel bonheur au réveil
    Donc cette fois, c'est ok, je reçois bien le mail. Par contre, un soucis subsiste, le mail reçu est vide...
    Je ne vois pas pourquoi...
    Mon code à jour :

    Concernant la page contact.html :
    Code html : 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
    <div class="content">
    <form id="contact" method="post" action="verif.php">
     
     
      <fieldset>
        <legend>Étape 1 : Vos coordonnées</legend>
        <ol>
          <li>
            <label for="nom">Nom</label>
            <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
            </li>
     
          <li>
            <label for="email">Email</label>
            <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
            </li>
     
          <li>
            <label for="telephone">Téléphone</label>
            <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
            </li>
     
          </ol>
     
        </fieldset>
     
     
      <fieldset>
        <legend>Étape 2 : Votre évènement</legend>
        <ol>
          <li>
            <label for="adresse">Adresse de votre manifestation</label>
            <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
            </li>
     
     
          <li>
            <label for="date">Date</label>
            <input id="date" name="date" type="text" required="required" />
            </li>
     
     
          <li>
            <label for="invit">Nbre d'invités</label>
            <textarea id="invit" name="invit" rows="1" ></textarea>
            </li>
     
          </ol>
     
        </fieldset>
     
      <fieldset>
        <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
     
        <ol>
          <li>
     
            <label for="comment">Commentaires</label>
            <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
            </li>
          </ol>
        </fieldset>
      <fieldset>
        <button type="submit" name="envoi">Envoyer</button> 
        </fieldset>
     
     
     
    </p>
     
    </form>



    et voici la partie php verif.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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    <?php
    	/*
    		********************************************************************************************
    		CONFIGURATION
    		********************************************************************************************
    	*/
    	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    	$destinataire = 'contact@monsite.com';
     
    	// copie ? (envoie une copie au visiteur)
    	$copie = 'non'; // 'oui' ou 'non'
     
    	// Messages de confirmation du mail
    	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
    	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite/contact.html>envoyer le formulaire</a>.";
    	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
     
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
     
    	// on teste si le formulaire a été soumis
    	if (!isset($_POST['envoi']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/*
    		 * cette fonction sert à nettoyer et enregistrer un texte
    		 */
    		function Rec($text)
    		{
    			$text = trim($text); // delete white spaces after & before text
    			if (1 === get_magic_quotes_gpc())
    			{
    				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
    			}
    			else
    			{
    				$stripslashes = create_function('$txt', 'return $txt;');
    			}
     
    			// magic quotes ?
    			$text = $stripslashes($text);
    			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    			$text = nl2br($text);
    			return $text;
    		};
     
    		/*
    		 * Cette fonction sert à vérifier la syntaxe d'un email
    		 */
    		function IsEmail($email)
    		{
    			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    			return (eregi($pattern,$email)) ? true : false;
    		};
     
    		// formulaire envoyé, on récupère tous les champs.
    		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
    		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
    		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
    		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
    		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
     
    		// On va vérifier les variables et l'email ...
    		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		if (($nom != '') && ($email != '') && ($telephone != '') && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
    		{
    			// les 4 variables sont remplies, on génère puis envoie le mail
    			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
     
    			// envoyer une copie au visiteur ?
    			if ($copie == 'oui')
    			{
    				$cible = $destinataire.','.$email;
    			}
    			else
    			{
    				$cible = $destinataire;
    			};
     
    			// Remplacement de certains caractères spéciaux
    			$message = str_replace("'","'",$message);
    			$message = str_replace("'","'",$message);
    			$message = str_replace("©","'",$message);
    		    $message = str_replace("\"",'"',$message);
      $message = str_replace("é","'",$message);
    			$message = str_replace('<br>','',$message);
    			$message = str_replace('<br />','',$message);
    			$message = str_replace("&lt;","<",$message);
    			$message = str_replace("&gt;",">",$message);
    			$message = str_replace("&amp;","&",$message);
    			// Envoi du mail
    			if (mail($cible, $objet, $message, $headers))
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des 3 variables (ou plus) est vide ...
    			echo '<p>'.$message_formulaire_invalide.' <a href="monsite.com/contact.html">Retour au formulaire</a></p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
    ?>
    Merci d'avance

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Dur dur... Au secours
    Suite à mon dernier post, je crois avoir compris que le problème du mail reçu vient de la balise header.
    J'ai donc changé les valeurs de celle ci pour récupérer mes données dans mon mail. J'ai en meme temps ajouter à mon formulaire html une balise cachée "subject" pour avoir un objet au mail reçu.

    Le problème... Je ne reçois plus rien du tout et je ne vois pas ou est l'erreur...
    Code html mis à jour :
    Code html : 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
    <div class="content">
    <form id="contact" method="post" action="verif.php">
     
     
      <fieldset>
        <legend>Étape 1 : Vos coordonnées</legend>
        <ol><li><INPUT TYPE="hidden" input id="subject" name="subject" VALUE="devis_soledad"></li>
          <li>
            <label for="nom">Nom</label>
            <input id="nom" name="nom" type="text" placeholder="Prénom et nom" required="required" autofocus="autofocus" />
            </li>
     
          <li>
            <label for="email">Email</label>
            <input id="email" name="email" type="email" placeholder="test@gmail.com" required="required" />
            </li>
     
          <li>
            <label for="telephone">Téléphone</label>
            <input id="telephone" name="telephone" type="tel" placeholder="par ex : 0324242424" />
            </li>
     
          </ol>
     
        </fieldset>
     
     
      <fieldset>
        <legend>Étape 2 : Votre évènement</legend>
        <ol>
          <li>
            <label for="adresse">Adresse de votre manifestation</label>
            <textarea id="adresse" name="adresse" rows="5" required="required"></textarea>
            </li>
     
     
          <li>
            <label for="date">Date</label>
            <input id="date" name="date" type="text" required="required" />
            </li>
     
     
          <li>
            <label for="invit">Nbre d'invités</label>
            <textarea id="invit" name="invit" rows="1" ></textarea>
            </li>
     
          </ol>
     
        </fieldset>
     
      <fieldset>
        <legend>Étape 3 : Vos souhaits ou commentaires<br />(formule désirée, nombre de musiciens, budget, etc...)</legend>
     
        <ol>
          <li>
     
            <label for="comment">Commentaires</label>
            <textarea id="comment" name="comment" placeholder="N'hésiter pas à être précis :)" rows="5" required="required"></textarea>
            </li>
          </ol>
        </fieldset>
      <fieldset>
        <button type="submit" name="envoi">Envoyer</button> 
        </fieldset>
     
     
     
    </p>
     
    </form>

    et voici mon code de ma page php mis à jour :
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
     
    <?php
    	/*
    		********************************************************************************************
    		CONFIGURATION
    		********************************************************************************************
    	*/
    	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    	$destinataire = 'monmail@mail.com';
     
    	// copie ? (envoie une copie au visiteur)
    	$copie = 'non'; // 'oui' ou 'non'
     
    	// Messages de confirmation du mail
    	$message_envoye = "Nous avons bien recu votre mail et nous vous remercions de l'interet porte a notre formation. Nous vous répondrons dans les plus brefs delais";
    	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Vous devez d'abord <a href= http://www.monsite/contact.html>envoyer le formulaire</a>.";
    	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
     
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
     
    	// on teste si le formulaire a été soumis
    	if (!isset($_POST['envoi']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/*
    		 * cette fonction sert à nettoyer et enregistrer un texte
    		 */
    		function Rec($text)
    		{
    			$text = trim($text); // delete white spaces after & before text
    			if (1 === get_magic_quotes_gpc())
    			{
    				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
    			}
    			else
    			{
    				$stripslashes = create_function('$txt', 'return $txt;');
    			}
     
    			// magic quotes ?
    			$text = $stripslashes($text);
    			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    			$text = nl2br($text);
    			return $text;
    		};
     
    		/*
    		 * Cette fonction sert à vérifier la syntaxe d'un email
    		 */
    		function IsEmail($email)
    		{
    			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    			return (eregi($pattern,$email)) ? true : false;
    		};
     
    		// formulaire envoyé, on récupère tous les champs.
    		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    		$telephone   = (isset($_POST['telephone']))   ? Rec($_POST['telephone'])   : '';
    		$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
    		$date = (isset($_POST['date'])) ? Rec($_POST['date']) : '';
    		$invit = (isset($_POST['invit'])) ? Rec($_POST['invit']) : '';
    		$comment = (isset($_POST['comment'])) ? Rec($_POST['comment']) : '';
     
    		// On va vérifier les variables et l'email ...
    		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		if (($nom != '') && ($email != '')  && ($adresse != '') && ($date != '') && ($invit != '') && ($comment != ''))
    		{
    			// les 4 variables sont remplies, on génère puis envoie le mail
    		$headers = "'Content-type: 'text/plain'; charset='iso-8859-1' \r\n";
    		$headers = 'From: '.$nom.'subject: '.$subject.'<'.$email.'>'.$telephone.''.$adresse.''.$date.''.$invit.''.$comment.'>'."\r\n";
     
     
     
    			// envoyer une copie au visiteur ?
    			if ($copie == 'oui')
    			{
    				$cible = $destinataire.','.$email;
    			}
    			else
    			{
    				$cible = $destinataire;
    			};
     
    			// Remplacement de certains caractères spéciaux
    			$message = str_replace("'","'",$message);
    			$message = str_replace("'","'",$message);
    			$message = str_replace("©","'",$message);
    		        $message = str_replace("\"",'"',$message);
                            $message = str_replace("é","'",$message);
    			$message = str_replace('<br>','',$message);
    			$message = str_replace('<br />','',$message);
    			$message = str_replace("&lt;","<",$message);
    			$message = str_replace("&gt;",">",$message);
    			$message = str_replace("&amp;","&",$message);
    			// Envoi du mail
    			if (mail($cible, $objet, $message, $headers))
    			{
    				echo '<p>'.$message_envoye.'</p>'."\n";
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des 3 variables (ou plus) est vide ...
    			echo '<p>'.$message_formulaire_invalide.' <a href="www.monsite/contact.html">Retour au formulaire</a></p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
    ?>

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/05/2007, 11h55
  2. Probleme traitement formulaire php
    Par benji54 dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2006, 22h50
  3. Problème avec formulaire PHP
    Par silvain dans le forum Langage
    Réponses: 8
    Dernier message: 29/08/2006, 00h58
  4. Problème de formulaire PHP
    Par guillaumeIOB dans le forum Langage
    Réponses: 13
    Dernier message: 27/08/2006, 23h41
  5. Probleme de recuperation de données javascript --> formulaire --> php
    Par kowabunga dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 27/07/2006, 10h18

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