Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonjour,
Alors voici mon petit problème, j'ai créer une page blog où assembler tous les articles (logique) mais quand je clique sur l'articles que je veux lire il me dirige vers le dernier articles rédigé alors que ça l'est pas. Pourtant que je survol chaque articles dans ma page "Blog" les ID corresponde bien à l'article associer. Je suis pas sûr me faire trop comprendre alors voici une image :
à savoir que l'ID de l'article "erytu" est 33
Et si je mets la condition :
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
rien ne se passe.
voici mon code PHP du blog.php
<?php
session_start();
include('../bd/connexionDB.php');
$req = $DB->query("SELECT b.*, u.prenom, u.nom, c.titre as titre_cat
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
LEFT JOIN categorie c ON c.id_categorie = b.id_categorie
ORDER BY b.date_creation DESC");
$req = $req->fetchAll();
?>
voici mon code HTML du blog.php
<body>
<?php
require_once('../menu.php');
?>
<br>
<h1 class="text-center">Articles</h1>
<br>
<div class="containernews">
<div class="row">
<?php
foreach($req as $r){
?>
<div class="col-md-4 col-sm-8">
<a href="voir_article.php/<?= $r['id'] ?>" class="card" >
<img class="card-img-top" src="../img/posts/<?= $r['minia'] ?>" alt="Card image cap">
<div class="card-body">
<p><?= $r['titre'] ?></p>
</div>
</a>
</div>
<?php
}
?>
</div>
Voici le code PHP du voir_article.php
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$get_id = (int) trim($_GET['id']);
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
$req = $DB->query("SELECT b.*, u.prenom, u.nom, c.titre as titre_cat
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
LEFT JOIN categorie c ON c.id_categorie = b.id_categorie
ORDER BY b.date_creation",
array($get_id));
$req = $req->fetch();
?>
Voici mon code HTML de mon voir_article.php
<body>
<?php
require_once('../menu.php');
?>
<div class="container">
<img src="../img/posts/<?= $r['minia'] ?>">
<div class="row" style="margin-top: 20px">
<div class="col-sm-12 col-md-12 col-lg-12">
<div style="margin-top: 20px; background: white; box-shadow: 0 5px 10px rgba(0, 0, 0, .09); padding: 5px 10px; border-radius: 10px">
<h1 style="color: #666; text-decoration: none; font-size: 28px;"><?= $req['titre'] ?></h1>
<div style="border-top: 2px solid #EEE; padding: 15px 0">
<?= nl2br($req['text']); ?>
</div>
</div>
</div>
</div>
</div>
J'avoue ne plus savoir quoi modifier pour régler le problème, j'ai regarder les tutos plusieurs mais rien.
Merci d'avance et bonne journée.
C'est bon j'ai résolu le problème en faites il était marqué dans mon PHP voir_article.php
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$get_id = (int) trim($_GET['id']);
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
$req = $DB->query("SELECT b.*, u.prenom, u.nom, c.titre as titre_cat
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
LEFT JOIN categorie c ON c.id_categorie = b.id_categorie
ORDER BY b.date_creation",
array($get_id));
$req = $req->fetch();
?>
au lieu de
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$get_id = (int) trim($_GET['id']);
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
$req = $DB->query("SELECT b.*, u.prenom, u.nom
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
WHERE b.id = ?
ORDER BY b.date_creation",
array($get_id));
$req = $req->fetch();
?>
Merci quand même de m'avoir aider.
Bonne journée
C'est bon j'ai résolu le problème en faites il était marqué dans mon PHP voir_article.php
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$get_id = (int) trim($_GET['id']);
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
$req = $DB->query("SELECT b.*, u.prenom, u.nom, c.titre as titre_cat
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
LEFT JOIN categorie c ON c.id_categorie = b.id_categorie
ORDER BY b.date_creation",
array($get_id));
$req = $req->fetch();
?>
au lieu de
<?php
session_start();
include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
$get_id = (int) trim($_GET['id']);
if (empty($get_id)) {
header('Location: /f_blog/blog.php');
exit;
# code...
}
$req = $DB->query("SELECT b.*, u.prenom, u.nom
FROM blog b
LEFT JOIN utilisateur u ON u.id = b.id_user
WHERE b.id = ?
ORDER BY b.date_creation",
array($get_id));
$req = $req->fetch();
?>
Merci quand même de m'avoir aider.
Bonne journée
Ah non maintenant pour je ne sais quelle raison, il me dirige vers le lien de l'articles mais m'affiche la page "Blog" un peu bugger.
Bonjour @Jerem971
Voilà j'ai mis les chemins en absolus, il me mets des erreurs car il trouve pas ce que je lui demande.
J'ai rewrite les url et il ne trouve pas l'article.
Hello @cero,
Quelques informations :
Pour ton problème :
Je te conseille d'utiliser uniquement les chemins absolus (voir cet article) et cet article 😉