faire un code propre sur mon un formulaire de verif. inscription

faire un code propre sur mon un formulaire de verif. inscription - PHP - Programmation

Marsh Posté le 11-04-2005 à 13:40:48    

bonjour.
voici mon code, j'aimerai qu'il soit moins "cucu" vous allez vite comprendre pourquoi:
 

Code :
  1. if( isset($_POST['pseudo']) ){
  2. $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); }
  3. else{
  4. echo "Veuillez saisir votre pseudo<br />";
  5. exit;
  6. }
  7. if( isset($_POST['nom']) ){
  8. $nom = htmlentities($_POST['nom'], ENT_QUOTES);
  9. $nom = strtoupper($nom); }
  10. else{
  11. echo "Veuillez saisir votre nom<br />";
  12. exit;
  13. }
  14. if( isset($_POST['prenom']) ){
  15. $prenom = htmlentities($_POST['prenom'], ENT_QUOTES); }
  16. else{
  17. echo "Veuillez saisir votre prénom<br />";
  18. exit;
  19. }
  20. if( isset($_POST['pass']) ){
  21. $pass = htmlentities($_POST['pass'], ENT_QUOTES); }
  22. else{
  23. echo "Veuillez saisir votre pass<br />";
  24. exit;
  25. }


 
ce sont mes exit; qui me derangent. j'ai pas trouvé mieux pour trouver mieux. (!)
et vous vous imaginez bien le gars qui s'incrit, qui tombe lors du submit sur la page de verification et qui voit son erreur affichée et qui retourner au formulaire, puis rpeointe sur une autre erreur et valide, etc... (chai pas si'j'me fait comprendre  :heink: )
 
j'aimerai que le script liste toutes les erreurs d'un coup comme ça c'est plus facile pour le visiteur qui oublie de saisir un champ, et tout ce qui est possible quand le champ est vide ou mal renseigné.
 
merci  :jap:  
 
 
PS:
et en fait, à la fin de ce code, c'est l'insertion dans la bdd mysql qui s'opère. c'est comme ça que le voyais quoi.  [:aloy] comme ça je sais que quand j'arrive à la requete d'insertion dans la bdd, le gars à rempli correctement tous ses champs.  
 [:airforceone]  
autrement on fait tjrs un INSERT quoi, je sais pas.  :p

Reply

Marsh Posté le 11-04-2005 à 13:40:48   

Reply

Marsh Posté le 11-04-2005 à 13:44:15    

le plus simple à mon avis :
- tu crée une variable $error
- à chaque erreur tu ajoutes l'intitulé dans $error
- si $error vide => insert
- sinon affichage $error
 
PS : attention a magic_quotes_gpc

Reply

Marsh Posté le 11-04-2005 à 13:44:23    

Ben au lieu de faire 4 exit, tu pourrais gerer un booleen "erreur" ainsi qu'un tableau de messages d'erreurs, une fois que tes 4 tests sont passes, si le booleen est a true tu affiches tous les messages de ton tableau, et zou !
 
[Edit] [:grilled] a 8 secondes :(


Message édité par Gonzoide le 11-04-2005 à 13:45:38
Reply

Marsh Posté le 11-04-2005 à 14:28:37    

ok. good idea. j vais essayer

Reply

Marsh Posté le 11-04-2005 à 15:08:10    

soju a écrit :

le plus simple à mon avis :
 
PS : attention a magic_quotes_gpc


 
pourkoi?
en fait dans les else je met une ligne du genre
$erreur. ="t'as oublié ton nom<br />";
 
dans un autre else
$erreur. ="t'as oublié ton pseudo<br />";
 
etc...  :)  :??:  
pour le boolean j'ai pas comrpis.  :sweat:  
je fais comme ça a la fin??

Code :
  1. if($erreur)
  2. {
  3. echo $erreur;
  4. }
  5. else
  6. {
  7. // je fais mon INSERT
  8. }


ch'est cha ou pas.  :whistle:  
 
thanks

Reply

Marsh Posté le 11-04-2005 à 15:17:25    


pourquoi koi ?
 

pmusa a écrit :

pour le boolean j'ai pas comrpis.  :sweat:


quel boolean ?
 

pmusa a écrit :

je fais comme ça a la fin??


à peu près oui

Reply

Marsh Posté le 11-04-2005 à 15:32:13    

pourkoi "attention à magic_quotes_gpc"  :??:  :??:  
merci pour la pertinence de tes reponses.  :D

Reply

Marsh Posté le 11-04-2005 à 15:39:52    

pmusa a écrit :

pourkoi "attention à magic_quotes_gpc"


cette config peut changer selon l'hebergeur, donc tu auras peut être des \ en trop

Reply

Marsh Posté le 11-04-2005 à 15:42:02    

Pour rester propre il vaut mieux distinguer la detection de l'erreur et sa gestion ... donc le booleen $erreur te permet de distinguer entre succes et echec, et un tableau de  message $messages (bien mieux qu'un seule string avec des <br> ), rempli avec "array_push" des qu'une erreur est detectee, te permettra un affichage propre (par exemple, compter le nombre d'erreur, les trier alphabetiquement, etc) ...


Message édité par Gonzoide le 11-04-2005 à 15:45:17
Reply

Marsh Posté le 11-04-2005 à 15:45:52    

ouè mais ça me fait du code en plus. tu veux dire un truc comme ça?

Code :
  1. if(!$_POST['pseudo']){
  2. header("Location:ma_page_courante.php?erreur=pseudo" );
  3. }


j'aime pas spécialement. j'economise des lignes, c'est que je suis las moi.  :D

Reply

Marsh Posté le 11-04-2005 à 15:45:52   

Reply

Marsh Posté le 11-04-2005 à 15:46:47    

Gonzoide a écrit :

Pour rester propre il vaut mieux distinguer la detection de l'erreur et sa gestion ... donc le booleen $erreur te permet de distinguer entre succes et echec, et un tableau de  message $messages (bien mieux qu'un seule string avec des <br> ) te permettra un affichage propre ...


I agree ;)
mais dans un cas simple comme celui là j'aurais quand même tendance à faire juste le tableau

Reply

Marsh Posté le 11-04-2005 à 15:49:31    

soju a écrit :

I agree ;)
mais dans un cas simple comme celui là j'aurais quand même tendance à faire juste le tableau


 
Ouais, vu que le booleen peut se traduire par count($messages) > 0 ... mais moi je ferais un boolean quand meme :D


Message édité par Gonzoide le 11-04-2005 à 15:49:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed