begin process at 2012 05 31 13:05:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problème de formulaire mail :(


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de formulaire mail :(

samedi 29 décembre 2007 à 16:27:07 | Problème de formulaire mail :(

L42RY

Bonjour à tous !

Tout d'abord, merci d'avoir pris le temps de cliquer sur mon post. J'ai créé ce dernier car j'ai un petit problème avec un formulaire mail dont j'ai trouvé le code source sur le net : tout fonctionne avec ce dernier, mais lorsque l'internaute désirant m'envoyer un message ne remplit pas un champ, au lieu d'un message du type "il manque votre prénom", comme prévu par le formulaire, apparait un 0. Ceci m'embête d'autant plus que le site que je dois concevoir n'est pas pour moi. Je voudrais donc savoir si il serait possible que vous m'indiquiez ou se trouve le problème, étant donné que je ne connais pas encore le php :s
Voici le code :

<?php

if($_POST){

            //Récupération des données du formulaire----------------------------

            $prenom = $_POST["prenom"];

            $nom = $_POST["nom"];

            $email = $_POST["email"];

            $tel = $_POST["tel"];

            $message = $_POST["message"];

            $subject = $_POST["subject"];

            //------------------------------------------------------------------

           

            //Gestion des erreurs de saisie-------------------------------------

            $erreurs = array();

            if( empty($prenom)) $erreurs = "il manque votre prénom";

            if( empty($nom)) $erreurs = "il manque votre nom";

            if( empty($email)) $erreurs = "il manque votre email";

            if( empty($tel)) $erreurs = "il manque votre téléphone";

            if( empty($message)) $erreurs = "il manque votre message";

            //------------------------------------------------------------------

           

            if(empty($erreurs)) {

                        $from = $email;

                        $reply = $from;

                        $to = larry.caer@orange.fr; //Mettez l'email de destination ici

                       

                        //Mise en forme du contenu au format HTML-----------------------

                        $contenu = "message de : ".$prenom." ".$nom;

                        $contenu .= "<br /> Tel: ".$tel;

                        $contenu .=      "<br /> Message: <br />";

                        $contenu .= $message;

                        //--------------------------------------------------------------

                       

                        //Entêtes de formatage de l'email en mode HTML------------------

                        $headers = 'MIME-Version: 1.0' . "\n";

                        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";

                        $headers .= 'From: '.$from."\n";

                        $reply = $headers."Reply-to: ".$reply."\n";

                        //---------------------------------------------------------------

                       

                        //Déclenchement de l'email et reroutage vers une autre page-----

                        $resultat = mail($to, $subject, $contenu, $reply);

                       

                        if($resultat) {

                                   echo "email envoyé";

                        } else {

                                   echo "Echec dans l'envoi de l'email";

                        }

                       

            } else {

                        $texte_erreur = implode("<br />",$erreurs);

                        print $texte-erreur;

            }

 

}

 

?>

<!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>Envoi d'email</title>

</head>

 

<body>

<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">

  <table width="100%" border="0" cellspacing="1" cellpadding="2">

    <tr>

      <td width="19%">Pr&eacute;nom : </td>

      <td width="81%"><input name="prenom" type="text" id="prenom" value="<?php print $prenom; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td>Nom : </td>

      <td><input name="nom" type="text" id="nom" value="<?php print $nom; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td>T&eacute;l&eacute;phone : </td>

      <td><input name="tel" type="text" id="tel" value="<?php print $tel; ?>" size="50" maxlength="50" /></td>

    </tr>

    <tr>

      <td>Votre email  : </td>

      <td><input name="email" type="text" id="email" value="<?php print $email; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td valign="top">Sujet du message : </td>

      <td><input name="subject" type="text" id="subject" value="<?php print $subject; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td valign="top">Texte du message  : </td>

      <td><textarea name="message" cols="38" rows="10" id="message"><?php print $message; ?></textarea></td>

    </tr>

    <tr>

      <td colspan="2">        <input type="submit" style="margin-left:200px;" name="Submit" value="Envoyer le message" />      </td>

    </tr>

  </table>

</form>

</body>

</html>

Merci beaucoup d'avance pour vos réponses, passez une bonne après-midi ;)

dimanche 30 décembre 2007 à 10:43:55 | Re : Problème de formulaire mail :(

nicomilville

Membre Club
met :

            //Gestion des erreurs de saisie-------------------------------------

            $erreurs = array();

            if( !isset($prenom)) $erreurs = "il manque votre prénom";

            if( !isset($nom)) $erreurs = "il manque votre nom";

            if( !isset($email)) $erreurs = "il manque votre email";

            if( !isset($tel)) $erreurs = "il manque votre téléphone";

            if( !isset($message)) $erreurs = "il manque votre message";

            //------------------------------------------------------------------

au lieu de :

            //Gestion des erreurs de saisie-------------------------------------

            $erreurs = array();

            if( empty($prenom)) $erreurs = "il manque votre prénom";

            if( empty($nom)) $erreurs = "il manque votre nom";

            if( empty($email)) $erreurs = "il manque votre email";

            if( empty($tel)) $erreurs = "il manque votre téléphone";

            if( empty($message)) $erreurs = "il manque votre message";

            //------------------------------------------------------------------

PS : je ne suis pas sur que cela va marcher !!!

mercredi 2 janvier 2008 à 15:46:12 | Re : Problème de formulaire mail :(

L42RY

Bonjour nicomilville,

Merci pour ta réponse, désolé pour mon temps de réaction. J'ai testé ta solution, ça ne fonctionne malheureusement pas, cette fois ci tout les champs sont ignorés, c'est à dire que l'on peut envoyer un mail complètement vide, même sans remplir le champ mail. Je suis perduuuu xD
mercredi 2 janvier 2008 à 18:25:19 | Re : Problème de formulaire mail :(

nicomilville

Membre Club
au début remplace le :
if($_POST)
par :
if((isset($_POST["prenom"])) && (isset($_POST["nom"])) && (isset($_POST["email"])) && (isset($_POST["tel"])) && (isset($_POST["message"])) && (isset($_POST["subject"])))

Je ne sais pas si ça marche mais tu peut toujours essayer !!!           

 

jeudi 3 janvier 2008 à 15:33:37 | Re : Problème de formulaire mail :(

L42RY

Merci beaucoup pour ton aide, je teste ça de suite :)
jeudi 3 janvier 2008 à 16:25:59 | Re : Problème de formulaire mail :(

nicomilville

Membre Club
tient moi au courrant stp !!

 

jeudi 3 janvier 2008 à 17:31:42 | Re : Problème de formulaire mail :(

L42RY

Tkt ! J'ai testé, le mail part bien, mais toujours pas de prise en compte des champs vide. C'est vraiment étrange ! En tout cas, merci bcp quand même
jeudi 3 janvier 2008 à 18:08:08 | Re : Problème de formulaire mail :(

nicomilville

Membre Club
Réponse acceptée !

Tient je l'ai testé sur mon serveur et j'ai modifié la fin, il marche a merveille !!!

<?php

if($_POST){

            //Récupération des données du formulaire----------------------------

            $prenom = $_POST["prenom"];

            $nom = $_POST["nom"];

            $email = $_POST["email"];

            $tel = $_POST["tel"];

            $message = $_POST["message"];

            $subject = $_POST["subject"];

            //------------------------------------------------------------------

           

            //Gestion des erreurs de saisie-------------------------------------

            $erreurs = array();

            if( empty($prenom)) $erreurs = "il manque votre prénom";

            if( empty($nom)) $erreurs = "il manque votre nom";

            if( empty($email)) $erreurs = "il manque votre email";

            if( empty($tel)) $erreurs = "il manque votre téléphone";

            if( empty($message)) $erreurs = "il manque votre message";

            //------------------------------------------------------------------

           

            if(empty($erreurs)) {

                        $from = $email;

                        $reply = $from;

                        $to = "larry.caer@orange.fr"; //Mettez l'email de destination ici

                       

                        //Mise en forme du contenu au format HTML-----------------------

                        $contenu = "message de : ".$prenom." ".$nom;

                        $contenu .= "<br /> Tel: ".$tel;

                        $contenu .=      "<br /> Message: <br />";

                        $contenu .= $message;

                        //--------------------------------------------------------------

                       

                        //Entêtes de formatage de l'email en mode HTML------------------

                        $headers = 'MIME-Version: 1.0' . "\n";

                        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";

                        $headers .= 'From: '.$from."\n";

                        $reply = $headers."Reply-to: ".$reply."\n";

                        //---------------------------------------------------------------

                       

                        //Déclenchement de l'email et reroutage vers une autre page-----

                        $resultat = mail($to, $subject, $contenu, $reply);

                       

                        if($resultat) {

                                   echo "email envoyé";

                        } else {

                                   echo "Echec dans l'envoi de l'email";

                        }

                       

            } else {
   print("<pre>");
   print($erreurs);
   print("</pre>");
            }

 

}

 

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " [ Lien ]">

<html xmlns=" [ Lien ]">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Envoi d'email</title>

</head>

 

<body>

<form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">

  <table width="100%" border="0" cellspacing="1" cellpadding="2">

    <tr>

      <td width="19%">Pr&eacute;nom : </td>

      <td width="81%"><input name="prenom" type="text" id="prenom" value="<?php print $prenom; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td>Nom : </td>

      <td><input name="nom" type="text" id="nom" value="<?php print $nom; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td>T&eacute;l&eacute;phone : </td>

      <td><input name="tel" type="text" id="tel" value="<?php print $tel; ?>" size="50" maxlength="50" /></td>

    </tr>

    <tr>

      <td>Votre email  : </td>

      <td><input name="email" type="text" id="email" value="<?php print $email; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td valign="top">Sujet du message : </td>

      <td><input name="subject" type="text" id="subject" value="<?php print $subject; ?>" size="50" maxlength="100" /></td>

    </tr>

    <tr>

      <td valign="top">Texte du message  : </td>

      <td><textarea name="message" cols="38" rows="10" id="message"><?php print $message; ?></textarea></td>

    </tr>

    <tr>

      <td colspan="2">        <input type="submit" style="margin-left:200px;" name="Submit" value="Envoyer le message" />      </td>

    </tr>

  </table>

</form>

</body>

</html>

 

vendredi 4 janvier 2008 à 16:38:34 | Re : Problème de formulaire mail :(

L42RY

Salut Nicomilville, désolé pour mon temps de réponse, je viens de tester, CA MARCHE !!!!!!!!!!!!!!!!!!!!
C'est vraiment génial tu m'a sauvé la vie !! ;) Merci pour le temps que tu as passé à résoudre ce problème, je ne sais pas comment te remercier !
Merci encore, bonne soirée !!!!
vendredi 4 janvier 2008 à 16:49:30 | Re : Problème de formulaire mail :(

nicomilville

Membre Club
y a pas de quoi !!!

A ++

 



Cette discussion est classée dans : message, erreurs, email, post, if


Répondre à ce message

Sujets en rapport avec ce message

Formulaire mail [ par L42RY ] Bonjour à tous ! Merci d'avoir cliqué sur mon topic, car je suis dans la mouise xD. Mon problème vient de ce formulaire mail que j'ai récupéré sur le contact2 [ par nicomilville ] bonjour voici mon code ://Dans la ligne qui suit, remplacer webmaster@domaine.tld par l'adresse email du webmaster, à laquelle les messages devront êt valider un captcha [ par philclimb ] Bonjour;J'ai réaliser un formulaire de mail que je veux placer dans la page "contact" de mon site.Pour éviter les vilains spams j'ai placé un captcha, Je suis désesperé [ par oliver26 ] Bonjour ici, J'ai posté un poste il y a quelques jours que je vais faire supprimer par les modérateurs (en espérant qu'ils m'en veuillent pas d'avoir erreur d'envoi d'email de confirmation [ par box207 ] Bonjour a tous J’ai un problème d’envoi d’email de confirmation a partir de mon site d’annonce j’ai fait un essaye par ex : je dépose une annonce il Les accents s'affichent en caractère Spéciaux [ par amrani83500 ] Bonjour à tous je viens sur ce forum pour demander une aide , j'ai un script en php qui me permet de récupérer des variables dans un formulaire en HT PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE" [ par MALINOIS77 ] Bonjour, En suivant de multiples tutoriels, je suis en train de créer un site avec au départ des pages en php sont présentes afin de se connecter, de mail en email [ par tonydanza ] Bonjour a tous.voila mon probleme, j utilise la fonction mail pour envoyer des message et tout fonctionne tres bien normalement.mais la je viens de ch easyphp server [ par domi81 ] Bonjour,J'ai installé easyphp 3.0Je voudrais renseigné une base de données avec un formulaire mais ce message d'erreur apparait : Objet non trouvé!L'U


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,530 sec (4)

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