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 :

Récuperer formulaire avec des classes php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Par défaut Récuperer formulaire avec des classes php
    Bonjour,

    Voilà, je débute en POO notamment avec php. J'ai beau chercher des cours ou des sources à ce sujet mais je ne trouve pas grand chose.

    En fait, j'aimerai comprendre comment utiliser des classes pour récupérer les données d'un formulaire classique.

    En gros, j'aimerai stocker dans une bdd mysql, les informations d'un client (nom, prenom...) donc j'aurai une class client avec ses attribut (nom, prenom, email....) surement une class mysql mais je ne sais pas vraiment comment m'y prendre.

    Quelqu'un pourrait-il m'aider ? Au moins me guider sur les démarches à faire.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Il faut que tu modélises les entités que tu as en base de données sous forme de classe d'objets (i.e : une classe client). C'est la base de la base : http://php.developpez.com/faq/?page=classes

    Ensuite, ce n'est pas parce que tu évolues dans un langage objet que tu dois utiliser ou créer des classes tout le temps. En PHP, pour récupérer un champ de formulaire il suffit d'utiliser la superglobal $_REQUEST (ou $_GET / $_POST).

    Exemple, inscription d'un client dans le site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    if(isset($_POST['submit']) && !empty($_POST['nom'])){
        $u = new client();
        $u->setNom($_POST['nom']);
        $u->save();
    }
    ?>
    <form action="" method="post">
        <fieldset>
            <input type="text" name="nom" value="" placeholder="Votre nom" />
            <input type="submit" value="Valider" name="submit" />
        </fieldset>
    </form>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Par défaut
    Merci d'avoir répondu aussi rapidement déjà

    Peux-tu me dire ce que contient ta fonction save() ? je suppose qu'elle se trouve dans la class client.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Par défaut
    Peux-tu me dire aussi quelles fonctions doit contenir ma class client ?
    Si c'est à cet endroit que jdois mettre ma fonction insertion dans la base.

  5. #5
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Cela dépend de ce qu'est une entité client pour toi.
    L'insertion de la base peut se faire dans la classe "client", ou dans une classe "db". Mais il faut exposer une méthode dans la classe client qui permet d'insérer ou mettre à jour la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    class client{
        public function save(){
            if($this->isnew) // do insert
            else // do update
        }
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Par défaut
    Pour le moment, j'ai 3 fichiers disons, index.php avec mon formulaire, classClient.php et classMysql.php (dans lequel je fais ma connexion à la base et ou je fais mes requetes SQL) ça semble cohérent ?

Discussions similaires

  1. [Librairies] Pb avec des classes d'envoi de mails
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/04/2006, 17h56
  2. Réponses: 5
    Dernier message: 25/04/2006, 16h04
  3. Formulaire avec des Onglets
    Par Orin dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2006, 10h28
  4. Ouverture d'un formulaire avec des requêtes différentes
    Par Jérémy VAUTIER dans le forum Access
    Réponses: 3
    Dernier message: 02/03/2006, 07h31
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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