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 :

Session et objet pdo


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Session et objet pdo
    Bonjour je vous explique brièvement mon problème.
    J'ai un petit programme de news avec une classe connexion à part et je souhaite stocker une news en session mais impossible de garder la session d'une page à l'autre.
    Ca ne sert à rien de garder une news en session mais c'est surtout pour que je comprenne pourquoi je ne peux pas.
    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
    <?php
     
    class DatabaseConnection
    {
        private static $_instance = null;
        private $_host;
        private $_user;
        private $_password;
        private $_dbname;
        private $_handle;
     
        public function __construct()
     
        {
            $this->_host     = 'xxxxx';
            $this->_user     = 'xxxxx';
            $this->_password = 'xxxxx';
            $this->_dbname   = 'xxxxx';
            $this->_handle   = null;
     
            try {
               $this->_handle = new PDO("mysql:host=$this->_host;dbname=$this->_dbname", $this->_user, $this->_password);
                $this->_handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            } catch (PDOException $e) {
               die('Connection failed or database cannot be selected : ' . $e->getMessage());
            }
        }
     
        public function __destruct()
        {
            //var_dump($this->_db); // Verification
           if (!is_null($this->_handle)) {
                $this->_handle = null;
           }
           //var_dump($this->_db); // Une derniere verification pour voir si l'objet a ete detruit
        }
     
        public static function getInstance()
        {
            if (is_null(self::$_instance)) {
                self::$_instance = new self();
            }
            return self::$_instance;
        }
     
        public function handle()
        {
            return $this->_handle;
        }
     
    }
    ?>
    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
    <?php
    abstract class Objet {
     
     protected $db;
     public $output;
     
     protected function __construct($dbInit = TRUE) {
     
      if ( $dbInit ) {
          $this->db = DatabaseConnection::getInstance()->handle();
      }
     
     }
     
     public function __destruct() {
      unset($this->output);
     }
     
    }
     
    ?>
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    <?php
    class News extends Objet {
     
     public function __construct() {
      parent::__construct();
     }
     
     // Ajoute une news
    // Retourne TRUE/FALSE en fonction de l'insertion dans la BDD
     public function AddNews($titre, $content, $categorie) {
        unset($this->output);
       $stmt=$this->db->prepare("INSERT INTO news (titre, content, categorie, date) VALUES (:titre, :content, :categorie, NOW() )");
       $stmt->bindParam(':titre', $titre, PDO::PARAM_STR);
       $stmt->bindParam(':content', $content, PDO::PARAM_STR);
       $stmt->bindParam(':categorie', $categorie, PDO::PARAM_INT);
        $stmt->execute();
       if ( $stmt->rowCount() == 1 ) {
            $this->output = $this->db->lastInsertId();
            return true;
       } else {
           return false;
       }
     }
     
    // Update une news
     public function UpdateNews($titre, $content, $categorie,$id) {
      unset($this->output);
      $stmt=$this->db->prepare("UPDATE news SET titre = :titre, content = :content, categorie = :categorie  WHERE id = :id");
      $stmt->bindParam(':titre', $titre, PDO::PARAM_STR);
      $stmt->bindParam(':content', $content, PDO::PARAM_STR);
      $stmt->bindParam(':categorie', $categorie, PDO::PARAM_INT);
      $stmt->bindParam(':id', $id, PDO::PARAM_INT);
        $stmt->execute(); 
     
       if ( $stmt->rowCount() == 1 ) {
            $this->output = $this->db->lastInsertId();
            return true;
       } else {
            return false;
       }
     }
     
     public function DeleteNews($id) {
      $stmt=$this->db->prepare('DELETE FROM news WHERE id = :id');
      $stmt->bindParam(':id', $id, PDO::PARAM_INT);
      $stmt->execute();
      return ( $stmt->rowCount() == 1 ) ? TRUE : FALSE;
     }
     
     public function CountNewsCategorie($categorie) {
      $stmt=$this->db->prepare('SELECT * FROM news WHERE categorie = :categorie');
      $stmt->bindParam(':categorie', $categorie, PDO::PARAM_STR);
      $stmt->execute();
      return $stmt->rowCount();
     }
     
     public function GetUniqueNews($id) {
      unset($this->output);
      $stmt=$this->db->prepare('SELECT
                                    new.id, new.titre, new.categorie, new.content, DATE_FORMAT(new.date,"%d-%m-%Y") as date_news ,
                                    cat.categorie as categorie_news
                                    FROM news as new
                                    LEFT JOIN categories AS cat ON new.categorie = cat.id
                                    WHERE new.id = :id
                                    GROUP BY new.id');
        $stmt->bindParam(':id', $id, PDO::PARAM_INT);
        $stmt->execute();
      $this->output[] = $stmt->fetch(PDO::FETCH_ASSOC);
      array_walk_recursive($this->output, 'walk_func_bis');
     }
     
     public function GetNews($droit, $start = 0, $limit = 30) {
      unset($this->output);
                     $stmt=$this->db->prepare('SELECT
                                                new.id, new.titre, new.content, new.categorie, DATE_FORMAT(new.date,"%d-%m-%Y") as date_news ,
                                                cat.categorie as categorie_news
                                                FROM news AS new
                                                LEFT JOIN categories AS cat ON new.categorie = cat.id
                                                WHERE cat.consultation like :consultation
                                                GROUP BY new.id
                                                ORDER by new.date DESC LIMIT :start, :limit'); 
      $stmt->bindParam(':start', $start, PDO::PARAM_INT);
      $stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
      $consultation_final='%'.$droit.'%';
      $stmt->bindParam(':consultation', $consultation_final, PDO::PARAM_STR);
      $stmt->execute();
       while ( $data = $stmt->fetch(PDO::FETCH_ASSOC) ) {
               $this->output[] = $data;    
       }
       ($this->output)?array_walk_recursive($this->output, 'walk_func_bis'):0;
     }
     
     
     
     public function LastIDNews() {
      return ( $this->db->query('SELECT MAX(id)+1 FROM news')->fetchColumn() ) ;
     }
     
     public function CountNews($droit) {
      return ( $this->db->query('SELECT COUNT(new.id) FROM news AS new LEFT JOIN categories AS cat ON new.categorie = cat.id  WHERE cat.consultation like '.$this->db->quote('%'.$droit.'%').'')->fetchColumn() ) ;
     }
     
     public function PaginationNews($pagination,$fonction) {
     $nb=(int)($fonction/$pagination);
     ($fonction%$pagination>0)?$nb++:1;
     return ($nb-1);
     }
     
      public function TitleNews($id) {
      return ( $this->db->query('SELECT titre FROM news where id='.$this->db->quote($id).'')->fetchColumn() ) ;
     }
     
      public function GiveMeCat($categorie) {
     return ($this->db->query('SELECT id FROM categories WHERE lien = '.$this->db->quote($categorie).'')->rowCount())?$this->db->query('SELECT id FROM categories WHERE lien = '.$this->db->quote($categorie).'')->fetchColumn():0;
     }
     
    // Fin d'objet
     public function __destruct() {
      unset($this->output);
     }
     
    }
    ?>
    page test 1
    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
    <?php
    function chargerClasse ($classe){ require $classe . '.class.php';}
    spl_autoload_register ('chargerClasse');
    session_start();
    $news = new News;
    $base= new DatabaseConnection;
     
    include('../Acces/connexion.php');
    include('../Php/fonction.php');
     
    echo "<pre>";
    var_dump($news);
    echo "</pre>";
     
    echo "<pre>";
    var_dump($base);
    echo "</pre>";
     
        (!isset($_GET['archive']))?$news->GetNews(4,0,5):$news->GetNews(4,($_GET['archive']*5),5);
     
        foreach ( $news->output as $data )
            {
        ?>
            <div class="bloc_central_65">
                <h2><img src="Image/puce_titre.gif" width="13" height="18" alt=""/> <?php echo $data["titre"]; ?> </h2>
                <div  class="left demi gauche">
                    Catégorie : <span class="gras bleu"><?php echo $data["categorie_news"]; ?></span>
                </div>
                <div  class="right demi droite">
                    le : <?php echo $data["date_news"]; ?>
                </div>
                <div class="clear"></div>
                <div class="contenu_edito">
                <?php echo $data["content"]; ?>
                </div>
            </div>   
        <?php
            }
    $_SESSION['news']=$news;
    $_SESSION['base']=$base;
     
    echo "<pre>";
    var_dump($_SESSION['news']);
    echo "</pre>";
     
    echo "<pre>";
    var_dump($_SESSION['base']);
    echo "</pre>";
    resultat
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    object(News)#3 (2) {
      ["db:protected"]=>
      object(PDO)#5 (0) {
      }
      ["output"]=>
      NULL
    }
    object(DatabaseConnection)#6 (5) {
      ["_host:private"]=>
      string(19) "xxxxx"
      ["_user:private"]=>
      string(14) "xxxx"
      ["_password:private"]=>
      string(8) "xxxxxx"
      ["_dbname:private"]=>
      string(14) "xxxxxx"
      ["_handle:private"]=>
      object(PDO)#7 (0) {
      }
    }
     Mise en place de l'édito
     
    Cat�gorie : Ensemble service
    le : 12-07-2013
    Bonjour,
     
     
     
    A partir d'aujourd'hui les informations inter-entreprise seront disponibles directement sur  l'édito.
     
     
     
    ___________
     
     
     
     
     
    object(News)#3 (2) {
      ["db:protected"]=>
      object(PDO)#5 (0) {
      }
      ["output"]=>
      array(1) {
        [0]=>
        array(6) {
          ["id"]=>
          string(2) "16"
          ["titre"]=>
          string(25) "Mise en place de l'édito"
          ["content"]=>
          string(287) "
    Bonjour,
     
     
     
     
     
     
     
    A partir d'aujourd'hui les informations inter-entreprise seront disponibles directement sur  l'édito.
     
     
     
     
     
     
     
    ___________
     
     
     
     
     
     
     
     
     
     
    "
          ["categorie"]=>
          string(1) "5"
          ["date_news"]=>
          string(10) "12-07-2013"
          ["categorie_news"]=>
          string(16) "Ensemble service"
        }
      }
    }
    object(DatabaseConnection)#6 (5) {
      ["_host:private"]=>
      string(19) "xxxxxx"
      ["_user:private"]=>
      string(14) "xxxxxx"
      ["_password:private"]=>
      string(8) "xxxxx"
      ["_dbname:private"]=>
      string(14) "xxxxxx"
      ["_handle:private"]=>
      object(PDO)#7 (0) {
      }
    }
     
    Fatal error: Exception thrown without a stack frame in Unknown on line 0
    page 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function chargerClasse ($classe){ require $classe . '.class.php';}
    spl_autoload_register ('chargerClasse');
    session_start();
    echo "news:<pre>";
    var_dump($_SESSION['news']);
    echo "</pre>";
     
    echo "base:<pre>";
    var_dump($_SESSION['base']);
    echo "</pre>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    news:
    NULL
    base:
    NULL

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    doit toujours être la première ligne de tes scripts nécessitant un accès à la session.

    Ensuite, tu ne peux pas conserver en session une ressource : type connexion à la base de données...
    Enfin, si tu veux conserver une instance de la classe News en session, tu peux le faire mais pour la réutiliser il faut que le moteur PHP connaisse son implémentation avant sa sortie de session.

    Allez je termine : tu devrais éviter de gérer ta connexion ainsi regarde ici
    La connexion devrait être injectée et ne pas faire partie de la classe de base.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Merci de ta réponse.

    J'ai vu qu'il existait une sorte de moyen avec __Sleep() et __wakeup() cela peut-il s'appliquer dans mon cas?

    Vu que je n'ai pas vraiment trouvé de solution à mon problème car je débute en POO je fais comme ceci:

    Je crée une classe par exemple membre

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <?php
    class Membre{
    			 private $id;
    			 private $login;
    			 private $password;
    			 private $droit;
    			 private $avatar;
    			 private $creation;
     
    			public function __construct()
    			{
    			}
     
    			public function __get($attribute)
    			{
    			   if(isset($this->$attribute))
    					$return = $this->$attribute;
    			   else
    					$return = false;
     
    			   return $return;
    			}
     
    			 public function __set($attribute, $value)
    			 {
    			   $return = true;
    			   if(isset($this->$attribute))
    					$this->$attribute = $value;
    			   else
    					$return = false;        
    			   return $return;
    			  }
     
    		  /**
              * Methode pour afficher la valeur de l'attribut desire
              * @access public
              * @param $attribute String Nom de l'attribut vise
              * @return void
              */
              public function display($attribute)
    		  {
    		   if(isset($this->$attribute))
    				echo $this->$attribute;
    		   else
    				echo 'Error : attribute not exist';
              }
     
     
              public function displayAll()
    		  {
                   var_dump($this);
              }
     
    		/**
    		*Connection 
    		*
    		*/
    		public function Connection($id)
    			{
    			$sql = "SELECT * from membre where id= :id";
    			try{
    				$stmt=$GLOBALS['pdo']->prepare($sql);
    				$stmt->bindParam(':id', $id, PDO::PARAM_INT);
    				$stmt->execute();
    				$output = $stmt->fetch(PDO::FETCH_OBJ);
    				$this->id=pdo_nettoie($output->id);
    				$this->login=pdo_nettoie($output->login);
    				$this->password=pdo_nettoie($output->password);
    				$this->droit=pdo_nettoie($output->droit);
    				$this->avatar=pdo_nettoie($output->avatar);
    				$this->creation=pdo_nettoie($output->creation);
    				$return = true;
    				}catch (Exception $e){
    						echo 'Error PDO : '.$e;
    						$return = false;
    			}
     
    					return $return;
    			}
     
     
    			public function Securisation()
    			{
    					$sql = "SELECT * FROM membre where login=:login and password=:password";
    					try
    						{
    						$stmt=$GLOBALS['pdo']->prepare($sql);
    						$stmt->bindParam(':login', $this->login, PDO::PARAM_STR);
    						$stmt->bindParam(':password', $this->password, PDO::PARAM_STR);
    						$stmt->execute();
    						($stmt->rowCount()==1)?$return = true:$return = false;
    						}catch (Exception $e){
    						echo 'Error PDO : '.$e;
    						$return = false;
    											}
     
    					return $return;
    			}
     
    }
    ?>
    et j'ai un fichier de connexion à part qui est inclus dans chaque page

    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
    <?php
    define('DB_HOST','xxxx'); 
    define('DB_NAME','xxxx'); 
    define('DB_LOGIN','xxxx'); 
    define('DB_PASSWORD','xxxx'); 
     
    // dsn nécessaire pour PDO (mysql)
    define('DSN_MYSQL','mysql:host='.DB_HOST.';dbname='.DB_NAME);
     
    try{
         $pdo = new PDO(DSN_MYSQL,DB_LOGIN,DB_PASSWORD);
    	  $pdo->exec("SET NAMES 'UTF8'");
    }
    catch(PDOExeception $e) {
         die("erreur!: ". $e->getMessage());
    }
     
    ?>
    et j'utilise $GLOBALS['pdo'] dans mes classes et avec cette méthode je peux mettre tout mes objets en sessions.
    Mais j'ai vu que l'utilisation de $GLOBALS['pdo'] n'était pas recommandé.
    De une pourquoi? et est-ce vraiment mauvais de faire comme ça?

    De plus ; Enfin, si tu veux conserver une instance de la classe News en session, tu peux le faire mais pour la réutiliser il faut que le moteur PHP connaisse son implémentation avant sa sortie de session.
    Je ne comprend pas très bien

    Edit : pour me premier code j'arrive à recuperer en session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    object(__PHP_Incomplete_Class)#3 (2) {
      ["__PHP_Incomplete_Class_Name"]=>
      string(4) "News"
      ["output"]=>
      array(1) {
        [0]=>
        array(6) {
          ["id"]=>
          string(2) "16"
          ["titre"]=>
          string(25) "Mise en place de l'édito"
          ["content"]=>
          string(287) "etcetc
    mais j'ai toujours un erreur
    Fatal error: Exception thrown without a stack frame in Unknown on line 0
    sur la page ou j'initialise la session de news

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Normalement, tu ne devrais inclure qu'une seule et unique fois le fichier de connexion. Une fois la connexion ouverte, elle est disponible pour tous les scripts.

    Ta classe Membre est bancale : tu trouves la définition des attributs d'un membre $id, $login, $password... et par la même occasion des fonctions d'extraction de données...
    C'est soit l'un soit l'autre mais pas les deux (toujours penser à limiter les responsabilités d'une classe).
    Pour faire le design tu as deux options : soit tu fais une classe appelée DAO (Data Access Object) soit tu gères simplement les attributs d'un membre sous forme de tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class MembreDAO
    {
        public $id;
        public $login;
        public $password;
        public $droit;
        public $avatar;
        public $creation;
    }
    et du coup ta classe Membre (en raccourci) devient :
    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
    class Membre
    {
        /**
         * @return MembreDAO | false
         */
        public function Connection($id)
        {
            $sql = "SELECT * from membre where id= :id";
            try
            {
                $stmt = $GLOBALS['pdo']->prepare($sql);
                $stmt->bindParam(':id', (int)$id, PDO::PARAM_INT);
                $stmt->execute();
     
                return $stmt->fetchObject('MembreDAO'); // ici faut faire gaffe à l'hydratation...
            }
            catch (Exception $e)
            {
                echo 'Error PDO : '.$e;
     
                return false;
            }
        }
    }
    On évite d'utiliser tout ce qui est global car c'est difficile à maintenir, à s'y retrouver entre ce qui l'est et ce qui l'est pas et tu ne dois pas surtout oublier qu'étant globale, la valeur de ta variable peut être très facilement modifiée en plein milieu par un script... Généralement quand tu codes tu dois faire en sorte d'avoir tout ce dont tu as besoin pour exécuter le corps d'une fonction sous la main "le plus localement possible".

    Dans le même ordre d'idée sur la limitation des responsabilités : ta classe Membre ne devrait pas contenir la définition des attributs d'un membre, des fonctions d'accès aux données et gérer l'affichage : ça fait beaucoup...

    Pour ma dernière réponse regarde ici, t'auras toutes les explications nécessaires.
    Enfin, je t'invite à bouquiner un peu la théorie de la POO sinon tu vas vite te noyer.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse je vais voir ça =)

Discussions similaires

  1. [PDO] Passer un objet PDO via une variable de session
    Par gohanfaye dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 15/03/2011, 10h11
  2. Session en objet
    Par NiHiL dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 4
    Dernier message: 12/11/2006, 19h27
  3. [POO] Sessions et objets
    Par fredo31 dans le forum Langage
    Réponses: 10
    Dernier message: 19/07/2006, 15h56
  4. Probleme avec l'objet PDO en PHP
    Par krovomi dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 03/05/2006, 12h18
  5. [Sessions] Session + Serialize + Objets?
    Par Chiwawa dans le forum Langage
    Réponses: 2
    Dernier message: 28/09/2005, 20h32

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