Bonsoir tous

j'ai utilisé dans mon application la notion du POO du PHP et aussi la notion du PDO (mes besoins fonctionnels du projet) donc voilà mes classes

classe db:
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
 
<?php
 
class Database
{
 
    private $pdo = null;
 
 
     private db_name = "projet";
        private  db_user = "postgres";
    private  db_pass = "1230";
      private  db_host = "localhost";
 
 
 
 
    private function connect_db()
    {
        if ($this->pdo === null) {
 
            try {
                $p= new PDO('pgsql:host=$this->db_host;port=5433;
                          dbname=$this->db_name;
                           host=$this->db_host;
                           username=$this->db_user;
                           password=$this->db_pass');
                $p->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
                $this->pdo = $p;
            } catch (PDOException $ex) {
                echo 'erreur de la connexion à la BD : ' . $ex->getMessage();
                die();
                /* Fermeture de la connection */
                pg_close($pdo);
            }
 
        }
 
        return $this->pdo;
    }
classe catégories:
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
 
<?php
 
require "Database.php";
class Categories extends Database{
 
 
 
    public function __construct()
    {
 
        $this->pdo = new Database();
    }
 
 
 
    public function add($nom="",$date="",$type="")
    {
        if ($nom && $date && $type) {
            $qry = $this->pdo->pg_prepare("INSERT INTO catg (nom,date_creation,type) VALUES (?, ?, ?)");
            $qry->pg_execute(array($nom,$date,$type));
        }
        return $qry;
    }
}
-dans la page ajouter catégories j'ai fait le code php suivant pour assurer l'insertion:
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
 
<?php
require("Categories.php"); //classe categories
 
if(isset($_POST['save'])){ //bouton
    var_dump($_POST);
if(isset($_POST['date']) && isset($_POST['nom']) && isset($_POST['type']) ){ //les champs html
 
     $dd=htmlentities($_POST['date']);
    $nn=htmlentities($_POST['nom']);
    $tt=htmlentities($_POST['type']);
 
    $categorie = new Categories();
   $i= $categorie->add($dd,$nn,$tt);
 
  if($i){
      header('Location:listes.php');
  }else{
      header('Location:add.php?erreur="date ou nom ou type de la categorie est invalide"');
  }
}
}
?>
le probléme que j'ai peux pas insérer des données dans la base postgresql, j'en sais pas s j'a un probléme au niveau de la fonction add..! il affiche toujours "date ou nom ou type de la categorie est invalide"(les paramètres sont bien passé mais l'insertion ne fonctionne pas)
s'il vous aide moi

MERCI