formulaire POO

page 1 page 2
Répondre
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
salut à tous ça faisait un bail,
Dpeuis que j'ai de nouveau un peu de temps libre j'ai décid de me mettre à la Prog Objet. Mon (petit)projet est de gerer un peu mieux mes formulaires en les générant et en les vérifiant dynamiquement.
Je me suis fait une petite classe avec une fonction champ() qui génère les balises input en fonction des critères entrés. J'ai tout de même l'impression que mon truc a une faible valeur ajoutée sur une fonction normale.
J'aurais voulu savoir si vous aviez un expérience en objet comment concevoir ma classe plus précisément que mon truc foireux.
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
salut...

tu pourrais nous donner un exemple de l'utilisation de ta classe, voir meme ta classe ?
Je veux bien te donner un coup de mains, je commence a plutot bien maitriser les objets php ^^
(tellement, que j'ai tendance a en mettre trop :D)
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
Merci,
Mon but est de pouvoir créer et vérifier des objets de formulaire comme ça:
  1. echo $formulaire->ajout_champ("text", "age", "Entrez votre age:", ..., "numerique");
  2. echo $formulaire->verification(); 

J'ai un peu fait mijoté mon idée et repris ma classe que je pense plus orienté objet:ici

pour ma fonction de vérification je n'arrive pas à récuperer la valeur entrée par l'utilisateur et la comparer suivant les propriétés de mes objets.
C'est peut être un peu fouillis mon truc mais je débute alors je fais ce que je peux
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
hum, l'idée n'est pas mauvaise, mais je te conseille de faire des methodes séparée.

du genre

  1.  
  2. <?php
  3.  
  4. AddRadio();  
  5. AddInput();  
  6. AddSelect();  
  7. AddFile();  
  8.  
  9. ?>
  10.  


Deja, c'est un peu plus cool, meme s'il y a des choses que tu dois réecrire.

de plus, evite d'avoir a passer plein de parametre, en en initialisant plein par défaut.

du genre:
  1.  
  2. <?php
  3.  
  4. function AddRadio($name, $checked = "")  
  5. {  
  6. $this->ListeChamps[] = "<input type=\"radio\" name=\"$name\"$checked>";  
  7. }  
  8.  
  9.  
  10. //le premier est selectionné  
  11. $formulaire->AddRadio("nom1", "checked");  
  12. //le deuxieme ne le seras pas...  
  13. $formulaire->AddRadio("nom1");  
  14.  
  15. ?>
  16.  


Voila, comme ca, certains parametre sont mis par défaut. Si ta class est bien pensée, l'utilisateur n'auras que peu de parametre a spécifier en général, car les valeurs par defaut correspondront a l'utilisation générale.
Celui qui veut spécifier des choses en plus, il a le droit ;)

Et puis le fait de faire des methodes un peu plus spécifiée evite de perdre l'utilisateur de ta classe en ne sachant plus trop ce qu'il doit passer ou non :)

Vala vala

KeitaroSan
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
Merci,
Je pensais en effet traiter les select par une methode différente mais c'est une bonne idée de séparer les radio, check... aussi.

J'ai mis les valeurs par défaut mais j'ai toujours les mêmes problèmes pour récuperer les objets créés pour la vérification des champs.
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
ah mon avis, faut que tu fasses une classe a part pour la verification de ton formulaire...

va voir le forum "script" j'ai mis un lien vers quelques classes que j'ai faite, dont une qui verifie les formulaires.

Et bientot, il y en aura d'autre, le dernier concourt des 3hduphp étant basé la dessus, il y aura des corrections :)
bibi
bibi
Déconnecté
commit suicide
si tu veux, j'ai un pote qui a fait une classe formulaire tres bien foutue
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
Salut,

Sinon attend que globule publie les scripts des vainqueur du concour 3h du php :) devrait y avoir que du bon :d (s'il publie les scripts biensur smiley)

smiley
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
vi, prends un maximum d'exemple partout ou tu peux en trouver.

premierement, ca implique que tu comprendras peut etre plus facilement comment ca marche, et comme toute classe n'est jamais parfaite sur les premiers essais, tu pourras peut etre faire un mix et en sortir quelque chose d'ultime !!
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
C'est ce que j'ai essayé de faire, je suis allé voir celui sur ton site il est pas mal. Voulant m'en inspirer pour la vérification ou je galère pas mal je n'ai pas compris comment après soumission du formulaire, et donc nouveau chargement de la page tu fait pour récuperer ton objet ou il y a les champs.

Sinon pour tout ce qui est exemples de classes que vous pouvez avoir je suis preneur pour m'habituer à réflechir en objet.
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
en fait, la classe de verification etant un objet a part, elle ne "s'active" qu'a la suite du rechargement de la page.

En clair, tu creer ton formulaire avec ton objet.
La personne remplit le form, elle le valide.
La page est rechargée, et la, on créée un object CkeckForm (ou formulaire pour ma classe), qui verifie les données du formulaire, et affiches les erreur ou non.

Les deux choses sont totalement indépendante (la création, et la verification).
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
ok, c'est noté je fait deux classe différentes. Mais pour ma vérifiaction j'aurais aimé pouvoir récuperer les propriétés de mon objet de création (qui possède les restrictions notamment) sans devoir les réentrer. En effet pour l'instant au rechargement, mon objet de création a disparu...
Je vais essayer de ne rentrer les restrictions que dans verif, mais je pense que ça perd en intertet puisqu'il faut alors retaper une action de vérification pour tout les cahmps un par un, alors que mon objet de création aurait pu les faire lister et vérifier automatiquement.

Merci pour votre aide au fait(on le dit jamais assez)
keitarosan
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
dans ce cas, procede comme suit:

tu declare un bel array() de tes restriction.
et tu le passe en parametre dans la classe de creation si t'es en mode creation, ou dans ta classe de check, si tu check :)

Cela implique necessairement une adaptation des script existant.
Quoi qu'en rajoutant juste une méthode dans le formulaire de check, tu peux transformé le tableau de restrictions déclaré au dessus, afin qu'il s'adapte a la checkform.

Ou alors, si t'a le courage, tu prends le script, tu t'impregne le plus possible de comment ca marche, et tu fait le tiens qui sera fait premierement a ta facon, et qui marcheras tout bien avec le tableau de restriction que t'auras déclarés.
C'est meme la meilleur solution ;)

recap:
  1.  
  2. <?php
  3.  
  4. $array = array ('restriction1', 'restriction2',...);  
  5.  
  6. if (TRUE == isset($_POST))  
  7. {  
  8. //verification du form  
  9. $check_form = new CheckForm($array);  
  10.  
  11. //autre code.  
  12. }  
  13. else  
  14. {  
  15. //creation du formulaire...  
  16. $form = new Formulaire($array);  
  17.  
  18. //reste du code  
  19. }  
  20. ?>
  21.  


Mais dans tout les cas, ca implique un minimum de changement dans l'un, ou les scripts.

A toi de voir, mais comme je t'ai dit, le mieux est peut etre que tu regardes bien comment ca marche, et que t'en fasse un beau pour toi.
C'est assez simple pour un débutant, et t'auras au moins la fierté de te dire que c'est toi qui l'as fait tout seul ^^
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
Vraiement pas idiot!!!smiley
Merci beaucoup je m'y attèle de suite.
rosema
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
Et voila le résulatat si ça peut interesser qqn
page 1 page 2
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog