Php formulaire conditions
nin54_3169
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
dans un formulaire php,
je voudrai demander le nom, prénom, l'age et la date dans une page dans laquelle des personnes veulent s'inscrire(à un événement), ma question est donc juste la suivante s'il vous plait:
comment faire en sorte que si l'utilisateur entre une date autre que celles entre le 1 et 15 avril 2020, une erreur s'affiche qui dit qu'il faut choisir une date pendant l’événement
et afficher la phrase si tout a été rentré: [nom][prenom], vous avez bien était inscrit le[date] et vous devrez payer [10$ si l'utilisateur à plus de 40 ans ou 20$ si il a moins de 40ans]
merci d'avance
dans un formulaire php,
je voudrai demander le nom, prénom, l'age et la date dans une page dans laquelle des personnes veulent s'inscrire(à un événement), ma question est donc juste la suivante s'il vous plait:
comment faire en sorte que si l'utilisateur entre une date autre que celles entre le 1 et 15 avril 2020, une erreur s'affiche qui dit qu'il faut choisir une date pendant l’événement
et afficher la phrase si tout a été rentré: [nom][prenom], vous avez bien était inscrit le[date] et vous devrez payer [10$ si l'utilisateur à plus de 40 ans ou 20$ si il a moins de 40ans]
merci d'avance
A voir également:
- Php formulaire conditions
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire de contact le bon coin introuvable ✓ - Forum Réseaux sociaux
12 réponses
Bonjour,
un formulaire c'est avant tout en HTML, ce sont les données transmises par ce formulaire qui sont traitées éventuellement en PHP.
"comment faire en sorte que si l'utilisateur entre une date autre que celles entre le 1 et 15 avril 2020, une erreur "
Un test logique vous connaissez ? sinon renseignez vous sur les maths de Boole et les fonctions de test logique disponible en PHP et dans tout les langages de programmation dignes de ce nom.
Exemple:
https://www.php.net/manual/fr/control-structures.if.php
"et afficher la phrase si tout a été rentré:"
voir réponse précédente et l'algorithmique en règle général(organisation des critères et cheminement logique de l'information dans un programme - ou des fonctionnalités et résolutions).
Mais concrètement PHP est un langage serveur. Pour afficher quelque chose vous devez utiliser une page HTML (client) ce qui peut être fait en écrivant le HTML ou son contenu via la fonction echo dans la page.
Remarque:
Lors de la vérification de champs de formulaire une première vérification en JavaScript(programmation sur le navigateur donc client) qui bloque ou autorise l'envoi du formulaire à son traitement vers un programme PHP.
Dans le cas d'un champ non remplit correctement cela évite de faire un traitement serveur qui ne débouches pas et les temps nécessaires à l'envoi et réception de ceux ci à la page.
Par exemple si le champ nom ou prénom ne sont pas remplit il est inutile d'en faire le traitement si ceux ci sont nécessaires dans le programme. Donc envoyer et ne pas traiter les données du formulaire est une perte de temps (d'affichage) pour l'utilisateur , ne pas l'envoyer et l'avertir de remplir correctement le formulaire est beaucoup plus logique. Voir aussi l'attribut de balise HTML required pour les champs input concernés.
Dans la même logique il est plus cohérent et facile pour l'utilisateur de restreindre les choix d'une date aux dates permises. Cela peut se faire sans programmation en HTML(voir attribut min et max):
https://www.alsacreations.com/tuto/lire/1407-formulaire-html5-type-date-time-local.html
Bien sûr cela n'empêche pas d'autres vérifications et protocole de sécurité à implémenter dans le programme qui restent tout à fait nécessaire mais empêche un certain nombres d'erreurs possible lors du choix d'une entrée par l'utilisateur en fonctionnement normal.
Un autre principe courant pour des fonctionnalités plus avancées et de meilleurs vitesses de transfert entre serveurs(programmes et bases de données) et clients est d'utiliser AJAX.
un formulaire c'est avant tout en HTML, ce sont les données transmises par ce formulaire qui sont traitées éventuellement en PHP.
"comment faire en sorte que si l'utilisateur entre une date autre que celles entre le 1 et 15 avril 2020, une erreur "
Un test logique vous connaissez ? sinon renseignez vous sur les maths de Boole et les fonctions de test logique disponible en PHP et dans tout les langages de programmation dignes de ce nom.
Exemple:
https://www.php.net/manual/fr/control-structures.if.php
"et afficher la phrase si tout a été rentré:"
voir réponse précédente et l'algorithmique en règle général(organisation des critères et cheminement logique de l'information dans un programme - ou des fonctionnalités et résolutions).
Mais concrètement PHP est un langage serveur. Pour afficher quelque chose vous devez utiliser une page HTML (client) ce qui peut être fait en écrivant le HTML ou son contenu via la fonction echo dans la page.
Remarque:
Lors de la vérification de champs de formulaire une première vérification en JavaScript(programmation sur le navigateur donc client) qui bloque ou autorise l'envoi du formulaire à son traitement vers un programme PHP.
Dans le cas d'un champ non remplit correctement cela évite de faire un traitement serveur qui ne débouches pas et les temps nécessaires à l'envoi et réception de ceux ci à la page.
Par exemple si le champ nom ou prénom ne sont pas remplit il est inutile d'en faire le traitement si ceux ci sont nécessaires dans le programme. Donc envoyer et ne pas traiter les données du formulaire est une perte de temps (d'affichage) pour l'utilisateur , ne pas l'envoyer et l'avertir de remplir correctement le formulaire est beaucoup plus logique. Voir aussi l'attribut de balise HTML required pour les champs input concernés.
Dans la même logique il est plus cohérent et facile pour l'utilisateur de restreindre les choix d'une date aux dates permises. Cela peut se faire sans programmation en HTML(voir attribut min et max):
https://www.alsacreations.com/tuto/lire/1407-formulaire-html5-type-date-time-local.html
Bien sûr cela n'empêche pas d'autres vérifications et protocole de sécurité à implémenter dans le programme qui restent tout à fait nécessaire mais empêche un certain nombres d'erreurs possible lors du choix d'une entrée par l'utilisateur en fonctionnement normal.
Un autre principe courant pour des fonctionnalités plus avancées et de meilleurs vitesses de transfert entre serveurs(programmes et bases de données) et clients est d'utiliser AJAX.
Bonjour,
As tu essayé quelque chose ?
As tu cherché ?
Voici un début de réponse :
https://www.google.com/search?q=php+compare+date
As tu essayé quelque chose ?
As tu cherché ?
Voici un début de réponse :
https://www.google.com/search?q=php+compare+date
d'accord merci je préférerai m'occuper de la date en dernier... d'abord j'aimerai savoir comment faire pour que les cases deviennent rouges si rien à été entré (ou un message d'erreur )
Des cases à cocher ?? De quelle case parles-tu ???
Là il s'agit d'une autre question qui n'a rien à voir avec celle de départ.
De toute façon ma réponse restera la même :
- qu'as-tu essayé ?
- qu'as-tu cherché ?
ici on ne donne pas du code tout cuit si tu ne fais pas d'effort tu n'auras pas de réponse.
Là il s'agit d'une autre question qui n'a rien à voir avec celle de départ.
De toute façon ma réponse restera la même :
- qu'as-tu essayé ?
- qu'as-tu cherché ?
ici on ne donne pas du code tout cuit si tu ne fais pas d'effort tu n'auras pas de réponse.
Je ne parle pas de case à coser, je parle de la case où on doit entrer le nom, le label mais J'ai trouvé ce code que j'ai un peu modifié, il fonctionne mais je le trouve dur... je prefere ne pas l'utiliser...
<!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php // define variables and set to empty values $nameErr =""; $name = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); } } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); } } function test_input($data) { $data = htmlspecialchars($data); return $data; } ?> <h2>PHP Form Validation Example</h2> <p><span class="error">* required field</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form> <?php echo "<h2>Your Input:</h2>"; echo $name; echo "<br>"; ?> </body> </html>
Enfin.. y'a plus simple.
Pour les champs "obligatoires" (required)
https://www.alsacreations.com/tuto/lire/1391-formulaire-html5-placeholder-required-pattern.html
Pour les champs "obligatoires" (required)
https://www.alsacreations.com/tuto/lire/1391-formulaire-html5-placeholder-required-pattern.html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai donc fait ca dans un fichier index.php:
et ca dans un fichier retourne.php :
c'est bon pour le debut ?
<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Le formulaire</title> </head> <body> <form action="retourne.php" method="post"> <label>Nom</label> : <input type="text" required="required" name="nom"/> <label>Prénom</label> : <input type="text" required="required" name="prenom"/> <label>Age</label> : <input type="number" required="required" name="age"/> <input type="submit" value="Envoyer" /> </form> </body> </html>
et ca dans un fichier retourne.php :
<?php $n=$_POST['nom']; $p=$_POST['prenom']; $q=$_POST['age']; echo "<p>Bonjour ".$p." ".$n.",vous avez ".$q." ans et j'espère que vous allez bien.</p>"; ?>
c'est bon pour le debut ?
A toi de nous dire si ça correspond à tes besoins......
Tu peux également lire et appliquer ceci pour tes devs...
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Tu peux également lire et appliquer ceci pour tes devs...
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Oui c'est exactement ce que j'ai besoin car très facile à comprendre et je pourrai le réutiliser donc sans problème après ce n'est pas la parti facile....
Pour ce qui est de l'age (plus ou moins de 40 ans)
En cherchant j'ai l'impression que ca ressemble( UN PEU )à pyhton(avec les conditions)...
If ($age>40){
echo "Vous payez 20euros}
else{"vous payez 40 euros}
je ne sais pas comment faire...Je sais que le code ne fonctionne pas mais les conditions seront dans le quel code php des 2 ?
Pour ce qui est de l'age (plus ou moins de 40 ans)
En cherchant j'ai l'impression que ca ressemble( UN PEU )à pyhton(avec les conditions)...
If ($age>40){
echo "Vous payez 20euros}
else{"vous payez 40 euros}
je ne sais pas comment faire...Je sais que le code ne fonctionne pas mais les conditions seront dans le quel code php des 2 ?
En cherchant j'ai l'impression que ca ressemble( UN PEU )à pyhton(avec les conditions)
Ben .. oui... c'est le même genre de code...
Pour faire un test... faut utiliser les structures conditionnelles...
mais les conditions seront dans le quel code php des 2 ?
Les deux quoi ??
Tu n'as qu'un code php dans ce que tu nous montres....
L'autre.. c'est du code html.
Maintenant.. pour trouver le code à utiliser.. je t'ai donné, dans ma première réponse un lien très utile...
Commence par là et reviens nous voir que lorsque tu auras commencé réellement à coder quelque-chose
J'ai essayé plusieurs choses dont ça (et aussi ce que vous avez envoyé sur votre lien aussi avec $a>$b)
mais ca ne fonctionne pas :
mais ca ne fonctionne pas :
<?php $n=$_POST['nom']; $p=$_POST['prenom']; $q=$_POST['age']; $sup=40 if ($age > $sup) { echo "Bonjour ".$p." ".$n.",vous avez ".$q." ans vous payez rien ."; } else{ echo "Bonjour ".$p." ".$n.",vous avez ".$q." ans vous payer 40."; } ?>
J'ai reussi merci ! il manqué un ";" et il ne fallait pas noter $age mais $q
voici :
Maintenant il ne me reste plus que la date à ajouter et faire en sorte que la personne choissise une date entre le 10/04/2020 et le 24/04/2020
voici :
<?php $n=$_POST['nom']; $p=$_POST['prenom']; $q=$_POST['age']; $sup=40; if ($q > $sup) { echo "Bonjour ".$p." ".$n.",vous avez ".$q." ans vous payez rien ."; } else{ echo "Bonjour ".$p." ".$n.",vous avez ".$q." ans vous payer 40."; } ?>
Maintenant il ne me reste plus que la date à ajouter et faire en sorte que la personne choissise une date entre le 10/04/2020 et le 24/04/2020
Par contre... tu ne veux vraiment pas suivre les conseils donnés dans les liens que je t'ai filé ??!!!!
Activation des erreurs PHP
Récupération Propre des variables AVANT de les utiliser...
Bref.. des trucs qui sont utiles.. surtout quand on débute comme toi !
Sache que je ne t'apporterai plus mon aide si tu refuses de t'impliquer sérieusement....
Je suis patient.. mais jusqu'à une certaine limite.
Donc sans efforts de ta part tu n'obtiendras certainement plus grand chose de moi.
Prends en bonne note pour tes prochaines questions !
Merci
Activation des erreurs PHP
Récupération Propre des variables AVANT de les utiliser...
Bref.. des trucs qui sont utiles.. surtout quand on débute comme toi !
Sache que je ne t'apporterai plus mon aide si tu refuses de t'impliquer sérieusement....
Je suis patient.. mais jusqu'à une certaine limite.
Donc sans efforts de ta part tu n'obtiendras certainement plus grand chose de moi.
Prends en bonne note pour tes prochaines questions !
Merci
désolé... je ne comprend pas bien votre lien, il permet d'afficher les erreurs si il y en a ? mais en en l’occurrence il n'y en a plus ? et toute façon lorsque j'appuie sur envoyer si il y a une erreur à chaque fois la ligne est indiqué
toute façon lorsque j'appuie sur envoyer si il y a une erreur à chaque fois la ligne est indiqué
Donc, lorsqu'il manquait le point-virgule... il y avait un message d'erreur et tu ne nous l'as pas indiqué ??
Si les erreurs s'affichent, (et toutes les erreurs.. mais j'en doute un peu...) c'est que ton php.ini est bien configuré ( tel qu'expliqué dans le lien que je t'ai donné et que tu as donc lu.. n'est-ce pas ? )
Mais il n'y a pas que ça...
Il est également expliqué la "récupération" propre des variables AVANT de les utiliser (afin d'éviter d'autres erreurs justement).
Bref,
Pour cette discussion il semble que tu puisses la mettre en résolue ...
Et lorsque tu auras un nouveau souci, tu ouvriras une nouvelle discussion sur le forum en expliquant en détail le souci rencontré et en montrant le code utilisé.
J'essaye depuis une heure de changer la date et j'ai enfin réussi pour qu'elle se mette en français... Maintenant il ne me reste plus que faire en sorte que la date soit entre le 10 et le 24 avril 2020
Ensuite je ne vois pas comment faire pour faire en sorte qu'un message d'erreur s'affiche si l'utilisateur entre une date autre que celles comprises entre le 10 et 24 avril 2020... la seul chose que j'ai trouvé c'est restreindre les dates que l'utilisateur peut entrer (ici : https://developer.mozilla.org/fr/doc...ent/Input/date)
mais je veux que l'utilisateur puisse entrer n'importe qu'elle date mais que le formulaire renvoi un message d'erreur si la date n'est pas compris entre ces dates et demande d'entrer des dates compris (entre le 10 et 24 avril)
mais je veux que l'utilisateur puisse entrer n'importe qu'elle date mais que le formulaire renvoi un message d'erreur si la date n'est pas compris entre ces dates et demande d'entrer des dates compris (entre le 10 et 24 avril)
En faisant comme je te l'ai indiqué dans ma première réponse :
https://forums.commentcamarche.net/forum/affich-36536683-php-formulaire-conditions#2
https://forums.commentcamarche.net/forum/affich-36536683-php-formulaire-conditions#2