Formulaire de contact ET envoie de mail
caro
-
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
salut a tous,
j'ai un formulaire d'envoie de mail tout simple avec une case a cocher.
ma page html:
<form name="contact" method="post" action="mail.php">
<table border="0">
<tr>
<td>Nom et Prénom (*)</td>
<td>
<input type="text" name="nom"/></td>
</tr>
<tr>
<td>E-mail (*)</td>
<td>
<input type="text" name="email"/></td>
</tr>
<tr>
<td>
Cochez la case pour commander le catalogue des pièces
</td>
<td> <input type="checkbox" name="choix" value="oui">
</td>
</tr>
<tr>
<td>Entrez votre message (*)</td>
<td><textarea name="message" cols="70" rows="10"></textarea></td>
</tr>
</table>
<br />
<input type ="submit" value="Envoyer"/>
<input type="reset" value=" Annuler "/>
</form>
<br/>
(*) les champs marqués sont obligatoires.
et ma page mail.php:
<?php
if (isset($_POST) && isset($_POST['nom']) && isset($_POST['choix']) && isset($_POST['email'])&& isset($_POST['message']))
{
extract ($_POST);
//vérifier si la variable n'est pas vide
if(! empty ($nom) && !empty ($choix) && !empty ($email)&& !empty ($message) &&!empty($_POST["choix"]))
{
//fonction mail
$message= str_replace("\'","'",$message);
$destinataire="mon mail@gmail.com";
$sujet="Formulaire de contact";
$mes="Une demande est arrivée\n
Nom: $nom \n
Catalogue: $choix \n
E-mail : $email \n
Message: $message";
$entete="from: $nom \n
Reply-to: $email";
mail($destinataire, $sujet, $mes,$entete);
echo "Le mail à bien était envoyé";
}
//si les champs ne sont pas remplis
else
{
echo "Vous n'avez pas rempli tous les champs, votre mail ne pourra pas être envoyé si tous les champs ne sont pas rempli.";
}
}
?>
mon seul souci c'est que je n'arrive pas a récupérer les données de ma checkbox.
je m'explique si je la coche le message est envoyé et si je la coche pas rien de ne s'affiche alors que sa devrai marqué que le message a quand même était envoyé.
cocher cette case n'est pas obligatoire et je veux que le mail parte quand même mais aussi que si d'autres cases ne sont pas remplis que cela l'affiche.(dans le 2ème echo)
je ne sais pas si vous me suivez...
j'ai besoin de votre aide...
merci d'avance
j'ai un formulaire d'envoie de mail tout simple avec une case a cocher.
ma page html:
<form name="contact" method="post" action="mail.php">
<table border="0">
<tr>
<td>Nom et Prénom (*)</td>
<td>
<input type="text" name="nom"/></td>
</tr>
<tr>
<td>E-mail (*)</td>
<td>
<input type="text" name="email"/></td>
</tr>
<tr>
<td>
Cochez la case pour commander le catalogue des pièces
</td>
<td> <input type="checkbox" name="choix" value="oui">
</td>
</tr>
<tr>
<td>Entrez votre message (*)</td>
<td><textarea name="message" cols="70" rows="10"></textarea></td>
</tr>
</table>
<br />
<input type ="submit" value="Envoyer"/>
<input type="reset" value=" Annuler "/>
</form>
<br/>
(*) les champs marqués sont obligatoires.
et ma page mail.php:
<?php
if (isset($_POST) && isset($_POST['nom']) && isset($_POST['choix']) && isset($_POST['email'])&& isset($_POST['message']))
{
extract ($_POST);
//vérifier si la variable n'est pas vide
if(! empty ($nom) && !empty ($choix) && !empty ($email)&& !empty ($message) &&!empty($_POST["choix"]))
{
//fonction mail
$message= str_replace("\'","'",$message);
$destinataire="mon mail@gmail.com";
$sujet="Formulaire de contact";
$mes="Une demande est arrivée\n
Nom: $nom \n
Catalogue: $choix \n
E-mail : $email \n
Message: $message";
$entete="from: $nom \n
Reply-to: $email";
mail($destinataire, $sujet, $mes,$entete);
echo "Le mail à bien était envoyé";
}
//si les champs ne sont pas remplis
else
{
echo "Vous n'avez pas rempli tous les champs, votre mail ne pourra pas être envoyé si tous les champs ne sont pas rempli.";
}
}
?>
mon seul souci c'est que je n'arrive pas a récupérer les données de ma checkbox.
je m'explique si je la coche le message est envoyé et si je la coche pas rien de ne s'affiche alors que sa devrai marqué que le message a quand même était envoyé.
cocher cette case n'est pas obligatoire et je veux que le mail parte quand même mais aussi que si d'autres cases ne sont pas remplis que cela l'affiche.(dans le 2ème echo)
je ne sais pas si vous me suivez...
j'ai besoin de votre aide...
merci d'avance
A voir également:
- Formulaire de contact ET envoie de mail
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Windows live mail - Télécharger - Mail
- Envoyer un mail à un groupe de contact gmail - Guide
3 réponses
Dans ton premier if, retires "&& isset($_POST['choix'])"
Dans le second, retires "&&!empty($_POST["choix"])"
Quand une case est cochées, sa variable vaut par défaut "on"
Quand elle ne l'est pas, sa variable n'existe pas.
Dans le second, retires "&&!empty($_POST["choix"])"
Quand une case est cochées, sa variable vaut par défaut "on"
Quand elle ne l'est pas, sa variable n'existe pas.
if(isset($_POST['choix']))
echo 'la case est cochée';
else
echo 'la case n\'est pas cochée';
j'ai retirer tout ce que tu m'avais dit.
le seul problème c'est que du coup j'ai une erreur:
Notice: Undefined variable: choix in C:\Program Files (x86)\EasyPHP5.3.0\www\Nouveau dossier\mail.php on line 44
est-ce que du coup en haut de ma page php je mette une définition de variable
$choix= $_POST['choix']
pour que sa la récupère dans mon formulaire et que sa se retrouve dans ma fonction mail?
le seul problème c'est que du coup j'ai une erreur:
Notice: Undefined variable: choix in C:\Program Files (x86)\EasyPHP5.3.0\www\Nouveau dossier\mail.php on line 44
est-ce que du coup en haut de ma page php je mette une définition de variable
$choix= $_POST['choix']
pour que sa la récupère dans mon formulaire et que sa se retrouve dans ma fonction mail?