IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Classe de gestion de formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [POO] Classe de gestion de formulaire
    Bonjour !

    Je me suis récemment essayé au PHP orienté objet et j'ai tenté de créer une class permettant la génération et la vérification de formulaires.
    Seulement, je débute et j'aimerai bien avoir vos avis car je pense que j'ai bien des choses à apprendre et que ce que j'ai déjà fait est sans aucun doute perfectible.

    La class est commentée mais si vous avez besoin de davantage d'explications concernant certains points, n'hésitez pas à me demander

    Vous pouvez la voir ici : http://code.google.com/p/opencomp/so...Form.class.php

    Voici ci dessous un exemple d'utilisation :
    (l'exemple est volontairement épuré, c'est pour cela que l'ensembles des balises html ne sont pas présentes ainsi que le doctype)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
     
    require_once("Form.class.php");
     
    $extrajavascript = <<<extrajavascript
    <script type='text/javascript'>
    
                            function MajusculeEnDebutDeChaine(Obj){
                                    chaine=Obj.value
                                            Obj.value=chaine.substr(0,1).toUpperCase()+     chaine.substr(1,chaine.length).toLowerCase()}
    
                    </script>
    extrajavascript;
     
     
        ?>
     
        <h3>Ajouter des utilisateurs</h3>
     
        <p>Saisissez les informations concernant l'utilisateur que vous souhaitez ajouter.</p>
     
        <?php
     
        $ajouter_utilisateur = new Form();
     
        $ajouter_utilisateur->input_text('nom', 'Nom : ', 'alpha_avec_accent', 'OnKeyUp="javascript:this.value=this.value.toUpperCase();"', '', '2', '50');
        $ajouter_utilisateur->input_text('prenom', 'Prénom : ', 'alpha_avec_accent', 'OnKeyUp="MajusculeEnDebutDeChaine(this)"', '', '2', '50');
        $ajouter_utilisateur->input_text('email', 'Email : ', 'email', '', '', '5', '100');
        $ajouter_utilisateur->input_text('identifiant', 'Identifiant : ', 'alpha', '', '', '7', '25');
        $ajouter_utilisateur->input_password('motdepasse', 'Mot de passe : ', '7', '25');
        $ajouter_utilisateur->verification_input_password('motdepasse2', 'Confirmer le mot de passe : ', 'motdepasse');
     
        $ajouter_utilisateur->submit('Ajouter cet utilisateur');
     
        if (isset($_POST['submit']) && !$ajouter_utilisateur->iserrors())
        {
            //Attention, il faudrait commencer par vérifier ici que l'utilisateur n'existe pas déjà dans la BDD !!
     
            //On définit un grain de sel pour l'utilisateur aléatoirement et on hâche le mot de passe.
            $graindesel = rand();
            $hashmotdepasse = sha1(($_POST['data_motdepasse']).$graindesel);
     
            $nom = $ajouter_utilisateur->getsecuredata('nom');
            $prenom = $ajouter_utilisateur->getsecuredata('prenom');
            $identifiant = $ajouter_utilisateur->getsecuredata('identifiant');
            $email = $ajouter_utilisateur->getsecuredata('email');
     
            //On ajoute le nouvel utilisateur à la BDD
     
            $bdd->exec("INSERT INTO utilisateurs (nom, prenom, identifiant, mot_de_passe, email, salt) VALUES ('$nom', '$prenom', '$identifiant', '$hashmotdepasse', '$email', '$graindesel');");
     
            echo 'L\'utilisateur a été ajouté avec succès.';
     
            header('Location: listeutilisateurs.php');
        }
     
        $ajouter_utilisateur->afficher_formulaire();  
     
    ?>
    Voilà, j'aimerai votre avis ! Merci d'avance

  2. #2
    Membre du Club
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Au passage;quelques remarques,

    - Le constructeur,doit être utiliser pour fixer des valeurs importantes,configurations,pas pour retourner des valeurs ou encore les affichés comme vous faites.

    - Découpez plus,la logique dans vos méthodes,que chaque méthode ait une "seule" petite tâche,et comme ca,si vous voulez modifier,votre classe,vous risquez moins de refaire toute la fonction input_text par exemple.

    - Pourquoi incrémente l'attribut erreur,si,tout ce que vous voulez vérifier c'est que l'erreur existe ? true/false c'est suffisant.


    Bonne chance.

Discussions similaires

  1. [POO] Classes de gestion d'un blog
    Par M3hdi dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2009, 10h37
  2. [POO] class connexion et gestion BDD
    Par Melaus dans le forum Langage
    Réponses: 2
    Dernier message: 07/04/2008, 15h03
  3. Classe de gestion de BDD par formulaire
    Par vacknov dans le forum Langage
    Réponses: 32
    Dernier message: 17/04/2007, 14h50
  4. [POO] class php de gestion de stats
    Par cedsib dans le forum Langage
    Réponses: 5
    Dernier message: 18/05/2006, 13h43
  5. Réponses: 11
    Dernier message: 16/04/2006, 00h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo