Formulaire et envoi de mail

Petit nouveau ! | 1 Messages

01 juin 2010, 18:16

Bonjour,

Je suis en train de réaliser un formulaire PHP/HTML mais impossible d'envoyer le message. Comme j'ai un peu la tête dans le guidon je ne vois pas où est mon erreur, quelqu'un pourrait m'aider ?

Merci,

Voici mon code php :

Code : Tout sélectionner

<form method="post"> <table width="269" height="254" border="1" cols="2"> <tr> <td height="46"> <label for="nom">Nom</label> </td> <td> <input type="text" id="nom" /> </td> </tr> <tr> <td height="54"> <label for="email">Email</label> </td> <td> <input type="text" width="" id="email"/> </td> </tr> <tr> <td> <label for="message">Message</label> </td> <td> <textarea id="message" rows="5"></textarea> </td> </tr> <tr> <td colspan="2" ><center> <input type="submit" value="Envoyer" name="envoyer" id="envoyer"/><input type="reset" /> </center></td> </tr> </table> </form>
et voici mon code php :

Code : Tout sélectionner

<?PHP $nom=$_POST["nom"]; $email=$_POST["email"]; $message=$_POST["message"]; $destinataire="[email protected]"; $objet="Message de Monsieur ou Madame ".$nom; $contenu="Nom : ".$nom."\r\n\n"."Email : ".$email."\r\n\n"."Message : ".$message; $entete="Information : "; mail($destinataire,$objet,$message,$entete); ?>
Je deviens fou :s lol

Eléphant du PHP | 428 Messages

01 juin 2010, 19:14

Pour récupérer des valeurs en $_POST, tu dois utiliser un name dans tes inputs. Pas un id. ;)
<form method="post">
            <table width="269" height="254" border="1" cols="2">
              <tr>
                <td height="46">
                  <label for="nom">Nom</label>
                  </td>
                <td>
                  <input type="text" name="nom" />
                  </td>
                </tr>
              <tr>
                <td height="54">
                  <label for="email">Email</label>
                  </td>
                <td>
                  <input type="text" width="" name="email"/>
                  </td>
                </tr>
              <tr>
                <td>
                  <label for="message">Message</label>
                  </td>
                <td>
                  <textarea name="message" rows="5"></textarea>
                  </td>
                </tr>
              <tr>
                <td colspan="2" ><center>
                  <input type="submit" value="Envoyer" name="envoyer" /><input type="reset" />
                  </center></td>
                </tr>
              </table>
           
          </form>

Eléphant du PHP | 428 Messages

01 juin 2010, 19:29

Pour la commande mail, tu peux aussi faire :
if (isset ($_POST["nom"]) && isset ($_POST["email"]) && isset ($_POST["message"])) {
$nom=$_POST["nom"];
$email=$_POST["email"];
$message=$_POST["message"];

$destinataire = "[email protected]";
$objet = 'Message de Monsieur ou Madame '.$nom;
$contenu = "Nom : ".$nom."\r\n\n"."Email : ".$email."\r\n\n"."Message : ".$message;
$entete = "From: [email protected]\n";

if(mail($destinataire,$objet,$contenu,$entete)) {
echo "L'email portant le sujet: $objet a bien été envoyé à $destinataire";
} else {
echo "Un problème d'envoi d'email survenu. Vérifiez que l'adresse email : $destinataire est valide";
}
} else {
echo 'tous les champs sont requis pour envoyer un email';
}

yul579
Invité n'ayant pas de compte PHPfrance

01 juin 2010, 19:36

Merci bien, mais le mail ne part toujours pas :s