Récupérer un formulaire par mail en PHP

Résolu/Fermé
hk - 6 janv. 2010 à 14:17
 hk - 6 janv. 2010 à 14:55
Bonjour, (je suis un hyper débutant en php)
j ai fait un mini formulaire en PHP pour le récupérer sur mon mail, le problème c'est que quand j'arrive sur la page il est envoyé automatiquement une première fois à vide puis après ca marche normalement...
comment éviter de l envoyer si les variables sont encore vides ???
Merci

le code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Envoi d'un email</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>TITRE</p>
<form action="email.php" method="post">
<p>
<input type="text" name="sujet" /> </br>

<p>MESSAGE</p>
<form action="email.php" method="post">
<p>

<textarea cols="18" rows="20"
type="text" name="message" </textarea></br>

<p>VOTRE EMAIL</p>
<form action="email.php" method="post">
<p>
<input type="text" name="expediteur" /></br>


<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>

<?php
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$email = $_POST['expediteur'];
mail("XXX", "$sujet", "$message", "$email");
?>

4 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 janv. 2010 à 14:36
C'est normal, tu à chaque fois que la page est chargée tu demandes l'envoie d'un email.
Fais des vérifications avant de l'envoyer !
0
ok merci je vais essayer de poser des vérifications...
0
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
6 janv. 2010 à 14:44
essaye ça... ça évitera de l'envoyer direct:

<form action="email.php?sendmessage=envoi" method="post">

<?php
if ((isset($_GET['sendmessage']))&&($_GET['sendmessage'] == 'envoi')){
$sujet = $_POST['sujet'];
$message = $_POST['message'];
$email = $_POST['expediteur'];
mail("XXX", "$sujet", "$message", "$email");
}
?>

Après il faut quand même vérifier la validité des données avant l'envoi.
0
trop beau merci beaucoup ca fonctionne à merveille !!!!
0