par
vilatlse » 21 nov. 2012, 13:50
Bonjour à tous !
je poste pour la première fois ici parce que j'ai un petit problème avec un formulaire de contact.
Pour faire simple, une fois que le formulaire est correctement complété, je reçois un mail (jusque là tout va bien)
Par contre quand il manque des informations, des messages s'affichent pour l'utilisateur :
- s'il manque l'email "Vous n'avez pas complété votre adresse email." -> s'ouvre dans une nouvelle fenêtre ->
je souhaiterai que ça s'affiche sur la page courante sous le formulaire
- si la box1 n'est pas cochée "Vous devez cocher la box1" -> s'ouvre dans une alert mais envoie quand même le mail ->
je souhaiterai que la mention s'affiche aussi sous le formulaire et surtout qu'aucun mail ne soit envoyé
Avez-vous une idée de la façon dont je peux régler ces deux problèmes ? Merci d'avance !
Voici les codes
POUR LE FICHIER INDEX.PHP
<html>
<body>
<form action="envoi.php" method="post" onsubmit="check()">
<input type="text" id="email" name="email">
<input type="image" onsubmit="check()" src="http://.../image.jpg" />
<input type="checkbox" id="box1" name="box1" value="yes" /><label for="box1">XXX</label><br />
<input type="checkbox" id="box2" name="box2" value="yes" /><label for="box2">XXX</label><br />
</form>
<script type="text/javascript">
function check() {
var box1 = document.getElementById('box1');
if(box1.checked == false) {
alert('Vous devez cocher la box1');
return false;
} else {
return true;
}
}
</script>
</body>
</html>
POUR LE FICHIER ENVOI.PHP
<?php
if(!empty($_POST['email'])) {
$message= $_POST['email']."\n".$_POST['box2'];
$objet= 'XXX';
mail("[email protected]",$objet,$message);
echo "<p>Votre e-mail a bien été envoyé, nous vous remercions!</p>";
}
else {
echo "<p>Vous n'avez pas complété votre adresse email.</p>";
}
?>
Bonjour à tous !
je poste pour la première fois ici parce que j'ai un petit problème avec un formulaire de contact.
Pour faire simple, une fois que le formulaire est correctement complété, je reçois un mail (jusque là tout va bien)
Par contre quand il manque des informations, des messages s'affichent pour l'utilisateur :
- s'il manque l'email "Vous n'avez pas complété votre adresse email." -> s'ouvre dans une nouvelle fenêtre -> [b]je souhaiterai que ça s'affiche sur la page courante sous le formulaire[/b]
- si la box1 n'est pas cochée "Vous devez cocher la box1" -> s'ouvre dans une alert mais envoie quand même le mail -> [b]je souhaiterai que la mention s'affiche aussi sous le formulaire et surtout qu'aucun mail ne soit envoyé[/b]
Avez-vous une idée de la façon dont je peux régler ces deux problèmes ? Merci d'avance !
Voici les codes
POUR LE FICHIER INDEX.PHP
[php]<html>
<body>
<form action="envoi.php" method="post" onsubmit="check()">
<input type="text" id="email" name="email">
<input type="image" onsubmit="check()" src="http://.../image.jpg" />
<input type="checkbox" id="box1" name="box1" value="yes" /><label for="box1">XXX</label><br />
<input type="checkbox" id="box2" name="box2" value="yes" /><label for="box2">XXX</label><br />
</form>
<script type="text/javascript">
function check() {
var box1 = document.getElementById('box1');
if(box1.checked == false) {
alert('Vous devez cocher la box1');
return false;
} else {
return true;
}
}
</script>
</body>
</html>[/php]
POUR LE FICHIER ENVOI.PHP
[php]<?php
if(!empty($_POST['email'])) {
$message= $_POST['email']."\n".$_POST['box2'];
$objet= 'XXX';
mail("
[email protected]",$objet,$message);
echo "<p>Votre e-mail a bien été envoyé, nous vous remercions!</p>";
}
else {
echo "<p>Vous n'avez pas complété votre adresse email.</p>";
}
?>[/php]