Partage
  • Partager sur Facebook
  • Partager sur Twitter

Insertion dans BDD avec PHP POO

    26 mars 2019 à 19:55:02

    Bonjour à tous,

    J'ai ce message d'erreur lorsque je lance mon programme d'inscription sur mon site, pouvez vous m'aider svp ?

    Voici mon code :

    saveUser.php :

    <?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    //require_once __DIR__."/../database.php";
    $db = new PDO('mysql:host=localhost;dbname=asa', 'root', 'root');
    
    //$db = connectDB();
    
    require_once __DIR__."/../Person.php";
    
    $manager = new PersonManager($db);
    
    
    
    $user = new PersonManager($_POST['user_firstname'], $_POST['user_lastname'], $_POST['user_email'], $_POST['user_password'],
                        $_POST['user_phone']);
    
    
    
    
    
    
    
    $manager->add($user);

    Person.php:

    <?php
    /**
     * Created by PhpStorm.
     * User: alex_rdgu
     * Date: 2019-03-22
     * Time: 15:15
     */
    
    
    
    //require_once __DIR__."/../database.php";
    
    class PersonManager
    
    {
    
        private $_db; // Instance de PDO.
    
    
        public function __construct($db)
    
        {
    
            $this->setDb($db);
    
        }
    
    
        public function add(PersonManager $user)
    
        {
    
            $q = $this->_db->prepare('INSERT INTO users(user_firstname, user_lastname, user_email, 
                                    user_password, user_phone) VALUES(:user_firstname, :user_lastname, :user_email, 
                                    :user_password, :user_phone)');
    
    
            $q->bindValue(':user_firstname', $user->user_firstname());
    
            $q->bindValue(':user_lastname', $user->user_lastname());
    
            $q->bindValue(':user_email', $user->user_email());
    
            $q->bindValue(':user_password', $user->user_password());
    
            $q->bindValue(':user_phone', $user->user_phone());
    
            //$q->bindValue(':user_status', $perso->user_status());
    
            //$q->bindValue(':user_token', $perso->user_token());
    
            //$q->bindValue(':user_reset_token', $perso->user_reset_token());
    
            //$q->bindValue(':user_reset_token_date', $perso->user_reset_token_date());
    
    
            $q->execute();
    
        }
    
    
        public function setDb(PDO $db)
    
        {
    
            $this->_db = $db;
    
        }
    
    }

    Merci par avance à vous pour votre aide !


    • Partager sur Facebook
    • Partager sur Twitter
      26 mars 2019 à 22:48:10

      Hello,
      Tu n'as pas inclue ton modèle `Person`, modèle que ta méthode `PersonManager::add()` devrait prendre en paramètre..
      • Partager sur Facebook
      • Partager sur Twitter
      Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
        27 mars 2019 à 17:14:00

        Skayotix a écrit:

        Hello,
        Tu n'as pas inclue ton modèle `Person`, modèle que ta méthode `PersonManager::add()` devrait prendre en paramètre..


        Merci pour ta réponse mais je ne comprends pas exactement ce que tu veux dire.

        Peux-tu m'expliquer un peu plus et surtout où dois-je le mettre stp ?

        Merci à toi !

        • Partager sur Facebook
        • Partager sur Twitter

        Insertion dans BDD avec PHP POO

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown