Bonjour,

J'ai un souci avec mon code et je n'arrive pas à voir où je me suis plantée.. ça fait plus d'une heure que j'ai la tête dedans, je crois que je ne vois plus rien..
Voici le message d'erreur : Nom : Capture d’écran 2019-09-23 à 16.08.48.png
Affichages : 613
Taille : 33,8 Ko

Le code concerné côté view :
Code php : 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
<article>
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-md-10 mx-auto">
                <h3><?= htmlspecialchars($post['title']) ?></h3>
                <p>
                    <div id="testarticle">
                        <p><?= nl2br(htmlspecialchars($post['content'])) ?></p></div>
                    <br />
                    <h2>Commentaires</h2>
                    <form action="XXX" method="post">
                        <div>
                            <label for="name">Auteur</label>
                            <br />
                            <input type="text" id="name" name="name" />
                        </div>
                        <div>
                            <label for="content">Commentaire</label>
                            <br />
                            <textarea id="content" name="content"></textarea>
                        </div>
                        <div>
                            <input type="submit" />
                        </div>
                    </form>
                </p>
            </div>
        </div>
    </div>
</article>
<article>
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-md-10 mx-auto">
                 <?php
                 while ($comment = $comments->fetch())
                 {
                 ?>
 
                <h5><?= htmlspecialchars($comment['author']) ?></strong> le <?= $comment['comment_date'] ?></h5>
 
                <p>
                    <?= nl2br(htmlspecialchars($comment['comment'])) ?>
                    <br />
                </p>
 
                <div>
                    <a href="ajouter php pour signaler"><img src="/img/signaler.png" class="signaler" alt="signaler"/>Signaler</a>
                </div>
 
                <?php
                }
                ?>
                <br />
            </div>
        </div>
    </div>
</article>

Côté model :
Code php : 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
<?php
 
function getPosts()
{
    $db = dbConnect();
    $req = $db->query('SELECT id, title, content, DATE_FORMAT(date, \'%d/%m/%Y\') AS date FROM article ORDER BY date DESC LIMIT 0, 5');
 
    return $req;
}
 
function getPost($postId)
{
    $db = dbConnect();
    $req = $db->prepare('SELECT id, title, content, DATE_FORMAT(date, \'%d/%m/%Y\') AS date FROM article WHERE id = ?');
    $req->execute(array($postId));
    $post = $posts->fetch();
 
    return $post;
}
 
function getComments($postId)
{
    $db = dbConnect();
    $comments = $db->prepare('SELECT id, author, content, DATE_FORMAT(comment_date, \'%d/%m/%Y\') AS comment_date FROM comment WHERE FK_post = ? ORDER BY comment_date DESC');
    $comments->execute(array($postId));
 
    return $comments;
}
 
 
 
// Connexion à la BDD
function dbConnect()
{
 
$servername = "localhost";
$username = "XusernameX";
$password = "XmdpX";
$database = "XdbnomX";
 
    try
    {
        $db = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
    }
    catch(Exception $e)
    {
        die('Erreur : '.$e->getMessage());
    }
 
}

Côté controller :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
require('../modeles/articlemodel.php');
 
if (isset($_GET['id']) && $_GET['id'] > 0) {
    $post = getPost($_GET['id']);
    $comments = getComments($_GET['id']);
    require('../vues/articleview.php');
}
else {
    echo 'Erreur : aucun identifiant de billet envoyé';
}

Du côté de ma BDD, j'ai dans ma table article :
Nom : Capture d’écran 2019-09-23 à 16.12.34.png
Affichages : 585
Taille : 22,4 Ko

Et côté commentaire :
Nom : Capture d’écran 2019-09-23 à 16.12.49.png
Affichages : 592
Taille : 21,5 Ko

Si quelqu'un peut prendre le temps de m'aider, ce serait top