A voir également:
- Obliger selectionner option menu déroulant
- Menu déroulant excel - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Excel menu déroulant en cascade - Guide
- Windows 11 menu démarrer classique - Guide
- Menu caché tv continental edison ✓ - Forum Téléviseurs
7 réponses
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
23 févr. 2011 à 21:36
23 févr. 2011 à 21:36
Tu te contredit là
ou bien faire un else ou bien enlever la première condition if
if(!empty($_POST)){ extract($_POST); $valid = true; if (empty($_POST['type'])){
ou bien faire un else ou bien enlever la première condition if
Bonjour et merci pour ton message
Je suppose que tu veux dire:
if(!empty($_POST)){
extract($_POST);
$valid = true;
}
else{
if (empty($_POST['type'])){
Je suppose que tu veux dire:
if(!empty($_POST)){
extract($_POST);
$valid = true;
}
else{
if (empty($_POST['type'])){
tito23
Messages postés
305
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
16 janvier 2013
4
24 févr. 2011 à 09:23
24 févr. 2011 à 09:23
Bonjour, oui c bien ça
Ca ne fonctionne pas
En faite si je rajoute cette fonction, lorsque j'ouvre la page de mon formulaire (sur Internet) Tous les champs "obligatoire" sont activés (Les messages erreur vous n'avez pas remplis le champs X) S'AFFICHENT. si j'en rempli 1 et que je fais "envoyé, il envoi le contenu VIDE hormis le ou les champs remplis. Mais sans m'obliger à remplir ceux obligatoires.
Par contre, les messages d'erreur de mes menus s'affichent alors que sans cette fonction... Rien Grrrrrrrrrrrr
En faite si je rajoute cette fonction, lorsque j'ouvre la page de mon formulaire (sur Internet) Tous les champs "obligatoire" sont activés (Les messages erreur vous n'avez pas remplis le champs X) S'AFFICHENT. si j'en rempli 1 et que je fais "envoyé, il envoi le contenu VIDE hormis le ou les champs remplis. Mais sans m'obliger à remplir ceux obligatoires.
Par contre, les messages d'erreur de mes menus s'affichent alors que sans cette fonction... Rien Grrrrrrrrrrrr
Skeletyon
Messages postés
1552
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
156
24 févr. 2011 à 10:16
24 févr. 2011 à 10:16
Bonjour.
Pour tester des valeurs, il faut les connaitre. Pour les connaitre il faut qu'elles soient quelque part. Or ici je ne sais pas comment vous souhaitez faire votre vérification mais le plus simple et de rappeler son formulaire une fois le clic sur "Envoyer" par exemple et de tester que tous les champs sont remplis.
Il suffit de déclarer son form comme ceci:
Le
A partir de là il suffit de récupérer les variables qui sont transmises dans le $_POST et de les vérifier.
Si on a des valeurs dans les $_POST on les traite puis SI tout est bon on peut faire un header location pour aller sur la page de traitement des infos (ajout dans une base, affichage etc)
Sinon, on ré affiche le formulaire avec des messages d'erreur style "*champs obligatoire*.
Ex:
Pour tester des valeurs, il faut les connaitre. Pour les connaitre il faut qu'elles soient quelque part. Or ici je ne sais pas comment vous souhaitez faire votre vérification mais le plus simple et de rappeler son formulaire une fois le clic sur "Envoyer" par exemple et de tester que tous les champs sont remplis.
Il suffit de déclarer son form comme ceci:
<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" enctype="multipart/form-data" name="nomForm" >
Le
echo($_SERVER['PHP_SELF']);charge la page courante. Comme ça si un jour on change le nom ou l'emplacement du fichier, on a pas besoin de retaper l'adresse.
A partir de là il suffit de récupérer les variables qui sont transmises dans le $_POST et de les vérifier.
Si on a des valeurs dans les $_POST on les traite puis SI tout est bon on peut faire un header location pour aller sur la page de traitement des infos (ajout dans une base, affichage etc)
Sinon, on ré affiche le formulaire avec des messages d'erreur style "*champs obligatoire*.
Ex:
<?php if(isset($_POST['Envoyer'])){ //Test existance de la variable puis afectation de la variable. if(isset($_POST[type'])) $type = $_POST['type']; //La même chose pour tous vos champs. //Puis à la fin vous vérifiez si tous les champs ne sont pas vides if(empty($type) or Empty($var2) ....) //message d'erreur $MsgError = "Champs Obligatoire"; else{ //Envoi vers autre fichier o insertion dans base etc } else{//Affichage du Formulaire <form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" enctype="multipart/form-data" name="nomForm" > <select name="type" size="1" class="texte" id="type"> <option value="Sélectionnez" selected>Séléctionnez</option> <option value="Type: Maison">Maison</option> <option value="Type: Appartement">Appartement</option> <option value="Type: Immeuble">Immeuble</option> </select> }?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci pour votre message Skeletyon
Mais je ne suis pas assez calée dans le php pour utiliser cette méthode.
J'ai testé mais il y a sans cesse des erreurs.
Par contre le
echo($_SERVER['PHP_SELF']);
Ca c'est bien vu merci
Mais je ne suis pas assez calée dans le php pour utiliser cette méthode.
J'ai testé mais il y a sans cesse des erreurs.
Par contre le
echo($_SERVER['PHP_SELF']);
Ca c'est bien vu merci
Skeletyon
Messages postés
1552
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
156
24 févr. 2011 à 11:40
24 févr. 2011 à 11:40
Le PHP est à votre portée. Allez sur le siteduzero et en quelques heures vous saurez faire votre vérification ^^
Il faut que vous fassiez des tests pour savoir si vos valeurs sont correctes. Et le faire en PHP est mieux qu'en JavaScript car il peut être désactivé sur le poste client.
Donnez vos erreurs, les lignes sont indiquées :p
Il faut que vous fassiez des tests pour savoir si vos valeurs sont correctes. Et le faire en PHP est mieux qu'en JavaScript car il peut être désactivé sur le poste client.
Donnez vos erreurs, les lignes sont indiquées :p
en faite pour les erreurs:
if(empty($type) or Empty($var2) ....) il n'en veut pas j'ai modifié
if(empty($type) or Empty($var2));
Là non plus....
Plusieurs possibilité mais rien
Ensuite j'ai testé avec juste type en solo pour vérifier si tout fonctionnait:
en affichant le corps du formulaire:
Mais aucun message d'erreur (si je n'ai pas sélectionne) ni message mail n'est envoyé
Et si je le fait en php à votre façon il affiche le menu mais avec "la fonction method post"ex
En visuel sur la page tel quel
C'est dejà une première d'avoir réussi à faire ce formulaire, j'ai mis 3 jours a le faire et presque 1 semaine pour essayer de corriger mes erreurs pour obliger a sélectionner ces foutus menus.... Grr je craque
if(empty($type) or Empty($var2) ....) il n'en veut pas j'ai modifié
if(empty($type) or Empty($var2));
Là non plus....
Plusieurs possibilité mais rien
Ensuite j'ai testé avec juste type en solo pour vérifier si tout fonctionnait:
<?php define('MAIL_DESTINATAIRE','contact@escaliers-style.fr'); // remplacer par votre email define('MAIL_SUJET','Demande de renseignement(s)'); if(isset($_POST['Envoyer'])){ //Test existance de la variable puis afectation de la variable. if(isset($_POST['type'])) $type = $_POST['type']; //La même chose pour tous vos champs. if(!empty($_POST)){ extract($_POST); $valid = true; //Puis à la fin vous vérifiez si tous les champs ne sont pas vides if (empty($_POST['type'])){ $valid=false; $erreurtype="Vous n'avez pas rempli le Type"; } if($valid){ $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="utf-8"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // préparation du corps du mail $mail_corps = "Nom : $type\n"; // envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { $erreur = "Votre message nous a bien été transmis"; } else{ $erreur = "Une erreur est survenue, votre message n'est pas parti"; } } } } ?>
en affichant le corps du formulaire:
<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" enctype="multipart/form-data" name="nomForm" > <select name="type" size="1" class="texte" id="type"> <option value="Sélectionnez" selected>Séléctionnez</option> <option value="Type: Maison">Maison</option> <option value="Type: Appartement">Appartement</option> <option value="Type: Immeuble">Immeuble</option> </select> <br /> <span class="error-message"> <?php if(isset($erreurtype)) echo $erreurtype; ?> <p> <input type="submit" value="Envoyer" id"envoyer"/> </p> </form>
Mais aucun message d'erreur (si je n'ai pas sélectionne) ni message mail n'est envoyé
Et si je le fait en php à votre façon il affiche le menu mais avec "la fonction method post"ex
<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" enctype="multipart/form-data" name="nomForm" > la barre select de mon menu
En visuel sur la page tel quel
C'est dejà une première d'avoir réussi à faire ce formulaire, j'ai mis 3 jours a le faire et presque 1 semaine pour essayer de corriger mes erreurs pour obliger a sélectionner ces foutus menus.... Grr je craque