Rendre les champs obligatoires... ?
lodu57
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai réussi à créer et rendre opérationnel un formulaire de contact pour mon site internet, mais cependant je n'arrive pas à rendre les champs obligatoires en bloquant l'envoi et affichant une alerte. Il paraît que c'est un code en PHP, J'en ai trouvé quelques uns et tenté mainte fois l'affaire mais je n'y arrive pas, si quelqu'un pouvait m'aider...
Merci par avance.
Mon code HTML :
<div align=center>
<form method=POST action=formmail2.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom :</td>
<td><input type=text style='background-color: #CCCCCC;' name=realname size=30></td></tr>
<tr><td>Votre Email :</td>
<td><input type=text style='background-color: #CCCCCC;' name=email size=30></td></tr>
<tr><td>Sujet :</td>
<td><input type=text style='background-color: #CCCCCC;' name=title size=30></td></tr>
<tr>
<td colspan=2><p align="left">Votre Message :<br>
<textarea style='background-color: #CCCCCC;' COLS=50 ROWS=6 name=comments></textarea>
</p>
</td></tr>
</table>
<input type=submit value=Envoyer>
</form>
</div>
Mon code PHP :
<?php
/* Remplacer votre_adresse@mail.net par votre adresse mail
Remplacer www.votre_domaine.net par votre nom de domaine */
$adresse = "xxxx@xxxxxxx.xxx";
$site = "xxxxxxxxx.xxxx";
$TO = $adresse;
$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";
$sujet = "Formulaire de contact";
$informations = "
Nom: ".$_POST['realname']." \r\n
Email du formulaire: ".$_POST['email']." \r\n
Sujet du formulaire: ".$_POST['title']."\r\n
Message: ".$_POST['comments']." \r\n
";
$res = mail($TO, $sujet ,$informations, $head);
if (true == $res) {
Header("Location: http://".$site."/formail2_ok.html" );
} else {
Header("Location: http://".$site."/formail2_pasok.html" );
}
?>
J'ai réussi à créer et rendre opérationnel un formulaire de contact pour mon site internet, mais cependant je n'arrive pas à rendre les champs obligatoires en bloquant l'envoi et affichant une alerte. Il paraît que c'est un code en PHP, J'en ai trouvé quelques uns et tenté mainte fois l'affaire mais je n'y arrive pas, si quelqu'un pouvait m'aider...
Merci par avance.
Mon code HTML :
<div align=center>
<form method=POST action=formmail2.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom :</td>
<td><input type=text style='background-color: #CCCCCC;' name=realname size=30></td></tr>
<tr><td>Votre Email :</td>
<td><input type=text style='background-color: #CCCCCC;' name=email size=30></td></tr>
<tr><td>Sujet :</td>
<td><input type=text style='background-color: #CCCCCC;' name=title size=30></td></tr>
<tr>
<td colspan=2><p align="left">Votre Message :<br>
<textarea style='background-color: #CCCCCC;' COLS=50 ROWS=6 name=comments></textarea>
</p>
</td></tr>
</table>
<input type=submit value=Envoyer>
</form>
</div>
Mon code PHP :
<?php
/* Remplacer votre_adresse@mail.net par votre adresse mail
Remplacer www.votre_domaine.net par votre nom de domaine */
$adresse = "xxxx@xxxxxxx.xxx";
$site = "xxxxxxxxx.xxxx";
$TO = $adresse;
$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=iso-8859-1\n";
$sujet = "Formulaire de contact";
$informations = "
Nom: ".$_POST['realname']." \r\n
Email du formulaire: ".$_POST['email']." \r\n
Sujet du formulaire: ".$_POST['title']."\r\n
Message: ".$_POST['comments']." \r\n
";
$res = mail($TO, $sujet ,$informations, $head);
if (true == $res) {
Header("Location: http://".$site."/formail2_ok.html" );
} else {
Header("Location: http://".$site."/formail2_pasok.html" );
}
?>
A voir également:
- Rendre les champs obligatoires... ?
- Comment rendre un fichier moins lourd - Guide
- Word mettre à jour tous les champs - Forum Word
- Comment nettoyer son mac pour le rendre plus rapide - Guide
- Une erreur pouvant rendre powerpoint instable s'est produite ✓ - Forum Powerpoint
- Ping instable - Forum WiFi
3 réponses
1°) Html -> Rajoute l'attribut required (required='required' pour la validation strict)
ça sera déjà un petit plus, même si c'est pas 100% prêt, et de toute façon pas sécurisé.
2°) Le code php ->
Il te suffit de tester l'existance de tes variables
if(!$_POST["email"]) $msg="Erreur, adresse email inexistante<br />";
if(!$_POST["realname"]) $msg="Erreur, vous devez entrer votre nom<br />";
Ensuite il ne te reste plus que le if avec $msg :
if(!$msg){
TON SCRIPT
}else{
echo $msg;
}
ça sera déjà un petit plus, même si c'est pas 100% prêt, et de toute façon pas sécurisé.
2°) Le code php ->
Il te suffit de tester l'existance de tes variables
if(!$_POST["email"]) $msg="Erreur, adresse email inexistante<br />";
if(!$_POST["realname"]) $msg="Erreur, vous devez entrer votre nom<br />";
Ensuite il ne te reste plus que le if avec $msg :
if(!$msg){
TON SCRIPT
}else{
echo $msg;
}
Merci beaucoup,
Cela ne fonctionne que sous Firefox et Opéra, Safari et IE envoie quand même le message.... je pense que c'est l'attribut "required=required" qui est pris en charge par une fonctionnalité interne des navigateurs car j'ai le message "Veuillez compléter ce champ" chez Firefox et "Ceci est un champ obligatoire" sous opéra
Mais c'est déjà cela de gagner.
Cela ne fonctionne que sous Firefox et Opéra, Safari et IE envoie quand même le message.... je pense que c'est l'attribut "required=required" qui est pris en charge par une fonctionnalité interne des navigateurs car j'ai le message "Veuillez compléter ce champ" chez Firefox et "Ceci est un champ obligatoire" sous opéra
Mais c'est déjà cela de gagner.