Verification complète d'un formulaire en PHP
Fermé
fab1105
Messages postés
114
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
17 juin 2010
-
18 août 2009 à 16:20
fab1105 - 18 août 2009 à 20:04
fab1105 - 18 août 2009 à 20:04
A voir également:
- Verification complète d'un formulaire en PHP
- Télécharger zuma revenge version complète gratuit - Télécharger - Jeux vidéo
- Zuma gratuit télécharger complète - Télécharger - Jeux vidéo
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Vérification url - Guide
8 réponses
fred_bgt
Messages postés
153
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
12 septembre 2009
22
18 août 2009 à 19:59
18 août 2009 à 19:59
$ok=0; // binaire, 0:test ok non nul:test pas bon, valeur $ok=id du champ pas bon
if ($nom=="") $ok=1; // on suppose id champ nom=1
if ($prenom=="") $ok=2; // on suppose id champ prenom=2
if ($commentaires=="") $ok=3; // on suppose id champ commentaires=3
if ($mail!=$confirm) $ok=4; // on suppose id champ mail=4
if ( (substr_count('@',$mail)!=1)||(substr_count('.',$mail)==0) ) $ok=4; // le mail doit contenir 1 @ et au moins 1 point
// test sur la date
$nbj=array(31,28,31,30,31,30,31,31,30,31,30,31);
$nbjour=$nbj [$mois];
if ( ($annee-1990)%4)==0)&&($mois==2) ) $nbjour=29; // année bissextile
if ( ($mois<1)||($mois>12) ) $ok=5 // on suppose id champ mois=5
else
{ if ( ($jour<1)||($jour>$njour) ) $ok=6 // on suppose id champ jour=6
}
if ($ok!=0) ... renvoi formulaire avec $ok en paramètre ($ok contient le champ pas bon
je te conseile de passer $ok en variable session, car en GET le client voit le paramètre et un refresh de la page peut nuire à ton code.
$_SESSION['ok']= ...
n'oublie pas session_start() à chaque début de page
ta page formulaire doit donc être une page PHP
Autre pb : qd tu charges à nouveau ta page formualire, tu perds toutes les données, sauf si tu les as sauvegardées dans des variables session ($_SESSION['nom'], ...etc)
tu les testes avant d'afficher le formualaire. Si ces variables existent, tu les affiches, sinon, les champs sont vides.
N'oublies pas de faire unset($_SESSION['nom']) et autres variables après avoir enregistré les variables dans ta base de données
j'espère avoir été clair ! sus pas sûr !
Bon Courage
;-)
pas bon
if ($nom=="") $ok=1; // on suppose id champ nom=1
if ($prenom=="") $ok=2; // on suppose id champ prenom=2
if ($commentaires=="") $ok=3; // on suppose id champ commentaires=3
if ($mail!=$confirm) $ok=4; // on suppose id champ mail=4
if ( (substr_count('@',$mail)!=1)||(substr_count('.',$mail)==0) ) $ok=4; // le mail doit contenir 1 @ et au moins 1 point
// test sur la date
$nbj=array(31,28,31,30,31,30,31,31,30,31,30,31);
$nbjour=$nbj [$mois];
if ( ($annee-1990)%4)==0)&&($mois==2) ) $nbjour=29; // année bissextile
if ( ($mois<1)||($mois>12) ) $ok=5 // on suppose id champ mois=5
else
{ if ( ($jour<1)||($jour>$njour) ) $ok=6 // on suppose id champ jour=6
}
if ($ok!=0) ... renvoi formulaire avec $ok en paramètre ($ok contient le champ pas bon
je te conseile de passer $ok en variable session, car en GET le client voit le paramètre et un refresh de la page peut nuire à ton code.
$_SESSION['ok']= ...
n'oublie pas session_start() à chaque début de page
ta page formulaire doit donc être une page PHP
Autre pb : qd tu charges à nouveau ta page formualire, tu perds toutes les données, sauf si tu les as sauvegardées dans des variables session ($_SESSION['nom'], ...etc)
tu les testes avant d'afficher le formualaire. Si ces variables existent, tu les affiches, sinon, les champs sont vides.
N'oublies pas de faire unset($_SESSION['nom']) et autres variables après avoir enregistré les variables dans ta base de données
j'espère avoir été clair ! sus pas sûr !
Bon Courage
;-)
pas bon
fred_bgt
Messages postés
153
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
12 septembre 2009
22
18 août 2009 à 16:23
18 août 2009 à 16:23
tu as 2 méthodes (qui sont à mon avis complémentaires) :
- par le javascript (confortable pour le client car pas besoin de tout retaper si un problème survient)
- par le PHP, juste avant la sauvegarde sur serveur
que souhaites-tu en premier lieu ?
PHP, c'est très simple. Javascript aussi mais pas toujours évident à débugguer, sauf avec l'outil de mozilla (console d'erreurs).
- par le javascript (confortable pour le client car pas besoin de tout retaper si un problème survient)
- par le PHP, juste avant la sauvegarde sur serveur
que souhaites-tu en premier lieu ?
PHP, c'est très simple. Javascript aussi mais pas toujours évident à débugguer, sauf avec l'outil de mozilla (console d'erreurs).
fab1105
Messages postés
114
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
17 juin 2010
7
18 août 2009 à 16:45
18 août 2009 à 16:45
Et bien en fait je souhaiterai faire la vérification uniquement en php, sachant que certains desactivent JS, et que PHP est inévitable pour envoyer un mail de confirmation, ou entrer les données dans la table avec MySQL.
Alors si tu as une méthode en PHP à me conseiller , je suis preneur!
Merci d'avance pour ta réponse.
Alors si tu as une méthode en PHP à me conseiller , je suis preneur!
Merci d'avance pour ta réponse.
fred_bgt
Messages postés
153
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
12 septembre 2009
22
18 août 2009 à 16:51
18 août 2009 à 16:51
Quelles sont tes connaissances en PHP ?
Pourrais-tu me donner la liste des données à tester, et quel test tu souhaites faire sur chacune d'entre elles ?
C'est très simple.
Pourrais-tu me donner la liste des données à tester, et quel test tu souhaites faire sur chacune d'entre elles ?
C'est très simple.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fab1105
Messages postés
114
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
17 juin 2010
7
18 août 2009 à 17:10
18 août 2009 à 17:10
Alors voici la liste avec le test à faire dessus :
$nom : tester si rempli (champs pas vide)
$prenom: tester si rempli
date de naissance avec variables $jour, $mois, $annee : tester si format date est correct
$mail : tester si format mail correct
$confirm : tester si le champs == mail
$commentaires : tester si rempli
ensuite si tout est vérifier on alimente la base, mais ça je dois savoir faire normalement, et on envoi un mail à l'adresse fournie par l'utilisateur pour dire "votre requête à bien été envoyé etc....." , je dois savoir faire aussi mais je m'avance peut-être.
sinon on indique le champs qui n'est pas rempli correctement, genre comme en javascript avec un focus() mais là en PHP et si possible écrire dans le champs mal rempli en rouge "Vous devez remplir ce champs" , par exemple.
Sinon pour mes connaissance en php, je saurai pas trop donner de niveau, j'ai appris tout seul et je me limite à la conception web dynamique, enfin je connais rien à la programmation orientée objet par exemple, et les expressions régulières pas trop non plus.
Voilà.
Merci.
$nom : tester si rempli (champs pas vide)
$prenom: tester si rempli
date de naissance avec variables $jour, $mois, $annee : tester si format date est correct
$mail : tester si format mail correct
$confirm : tester si le champs == mail
$commentaires : tester si rempli
ensuite si tout est vérifier on alimente la base, mais ça je dois savoir faire normalement, et on envoi un mail à l'adresse fournie par l'utilisateur pour dire "votre requête à bien été envoyé etc....." , je dois savoir faire aussi mais je m'avance peut-être.
sinon on indique le champs qui n'est pas rempli correctement, genre comme en javascript avec un focus() mais là en PHP et si possible écrire dans le champs mal rempli en rouge "Vous devez remplir ce champs" , par exemple.
Sinon pour mes connaissance en php, je saurai pas trop donner de niveau, j'ai appris tout seul et je me limite à la conception web dynamique, enfin je connais rien à la programmation orientée objet par exemple, et les expressions régulières pas trop non plus.
Voilà.
Merci.
fred_bgt
Messages postés
153
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
12 septembre 2009
22
18 août 2009 à 17:30
18 août 2009 à 17:30
te fais ca avant demain matin, si qq n'a pas répondu avant ... c très simple
fab1105
Messages postés
114
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
17 juin 2010
7
18 août 2009 à 17:31
18 août 2009 à 17:31
Ok merci beaucoup pour ton aide!