Bonjour,

Je rencontre un petit souci depuis hier soir que je n'arrive pas à résoudre.

Dans un fichier de vue principale, j'ai une requête de création de commentaires, tel que :
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
 
<?php if(isset($commentaires))
foreach ($commentaires as $commentaire): ?>
    <p><strong><?= $commentaire['auteur'] ?><br /></strong><?= $commentaire['date_b'] ?></p>
    <p><?= $commentaire['contenu']?></p>
    <hr />
<?php endforeach; ?>
    <p> Pour poster un commentaire, veuillez remplir ces champs :</p>
    <form id="commentaire_form" action='entity/commentaireManager.php' method="POST" enctype="multipart/form-data">
        <div class="row">
            <label for="auteur">Votre pseudo:</label><br />
            <input id="auteur" class="input" name="auteur" type="text" value="" size="30" /><br />
        </div>
        <div class="row">
            <label for="commBillet">Votre commentaire:</label><br />
            <textarea id="commBillet" class="input" name="commBillet" rows="7" cols="30"></textarea><br />
        </div>
        <input id="submit_button" type="submit" value="Envoyer" />
    </form>
</div>




L'affichage des commentaires est ok. Par contre, quand je l'ajoute via la classe :
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
 
 
class commentaireManager extends bddmanager
{
 
    public function addCommentaire()
    {
        $bdd = $this->bdd;
            $query ='INSERT INTO t_commentaire (COM_DATE, COM_AUTEUR, COM_CONTENU) VALUES (NOW(), :auteur, :contenu)';
            $req = $bdd->prepare($query);
            $req->execute(array(
                'COM_DATE' => $_POST['date'],
                'COM_AUTEUR' => $_POST['auteur'],
                'COM_CONTENU' => $_POST['commBillet'],
            ));
 
        header('Location: "index.php?action=billet&id=' . $_POST['id']);
    }
}
Le message d'erreur que je recois et que la classe bddmanager n'est pas trouvé. Or, elle existe bien, dans le même dossier, tel que :
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
 
class bddmanager
{
    protected $bdd;
    private $host = "localhost";
    private $login = "root";
    private $password = "";
 
    public function __construct()
    {
        $bdd = new PDO('mysql:host=' . $this->host . ';dbname=monblog;charset=utf8', $this->login, $this->password);
        $this->bdd = $bdd;
 
    }
 
}
Je rajoute juste que dans ma classe commentaireManager, j'ai une autre fonction qui marche très bien, donc l'appel à la base est bien réalisé dans celle-ci:
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
 
    public function getCommentaires($id = null)
    {
        $bdd = $this->bdd;
        $query = 'SELECT COM_ID AS id, COM_DATE AS date_b, COM_AUTEUR AS auteur, COM_CONTENU AS contenu FROM T_COMMENTAIRE';
        ($id == null) ? $where = '' : $where = ' WHERE BIL_ID= :id ';
        $query .= $where;
        $query .= ' ORDER BY COM_ID desc ';
        ($id == null) ? $limit = 'LIMIT 0,3' : $limit = '';
        $query .= $limit;
        // echo $query; exit;
        $req = $bdd->prepare($query);
        if ($id) $req->bindParam(':id', $id);
        $req->execute();
 
        if ($req->rowCount() > 0) {
            while ($row = $req->fetch(PDO::FETCH_ASSOC)) {
                // instance of a commentaire object
                $commentaire = new Commentaire();
                // hydrate manualy from bdd datas
                $commentaire->hydrate($row);
 
                $commentaires[] = $row;
            }
            return $commentaires;
        }
    }


Une idée ?