ANTHURIUMRE
-
15 juil. 2011 à 17:08
ANTHURIUMRE
Messages postés93Date d'inscriptionmardi 16 septembre 2008StatutMembreDernière intervention 3 janvier 2015
-
20 juil. 2011 à 07:29
Bonjour,
Dans le cadre de la conception d'un blog en mvc je veux accéder à une page où se trouvent les commentaires en fonction d'un article.
Voilà donc:
Dans mon dossier Vue j'ai mon dossier accueil avec son index.php et mon dossier commentaire avec son index.php censé me transmettre mes commentaires et mon billet. chacun d'eux étant relié à un fichier dans mon dossier modèle et controleur.
En ce qui concerne mon index.php dans mon dossier commentaire qui suit :
il est relié à modèle/commentaire/get_billet.php dont le code est le suivant :
<?php
function get_billets($offset,$limit)
{
global $bdd;
$offset=(int)$offset;
$limit=(int)$limit;
$req=$bdd->prepare('SELECT id_billet, image, titre, contenu, auteur, categorie, resume, DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS
date_de_creation_fr FROM billets WHERE id=?');
ORDER BY date_de_creation DESC LIMIT :offset,:limit');
$req->bindParam(':offset',$offset, PDO::PARAM_INT);
$req->bindParam(':limit',$limit,PDO::PARAM_INT);
$req->execute(array($_GET['billet']));
$billets=$req->fetch();
return $billets;
}
?>
On y voit que j'y ai mis l'array billet.
Et il est relié à controleur/commentaire/index.php dont le code suit :
<?php
//on demande le billet(modèle)
include_once('modele/commentaire/get_billets.php');
$billets = get_billets();
//On effectue du traitement sur les données (contrôleur)
//Ici on doit surtout sécuriser l'affichage
foreach($billets as $cle=>$billet)
{
$billets[$cle]['titre']=htmlspecialchars($billet['titre']);
$billets[$cle]['contenu']=nl2br(htmlspecialchars($billet['contenu']));
$billets[$cle]['auteur']=htmlspecialchars($billet['auteur']);
$billets[$cle]['date_de_creation_fr']=($billet['date_de_creation_fr']);
$billets[$cle]['categorie']=htmlspecialchars($billet['categorie']);
$billets[$cle]['resume']=nl2br(htmlspecialchars($billet['resume']));
}
//On affiche la page (vue)
include_once('vue/commentaire/index.php');
?>
Pourtant quand je vais sur ma page d'acceuil dont le code suit
je suis bien orienté vers ma page commentaire mais le message suivant s'affiche :
Notice: Undefined variable: billet in C:\Program Files\EasyPHP-5.3.6.0\www\BLOG\vue\commentaire\index.php on line 38
Notice: Undefined variable: billet in C:\Program Files\EasyPHP-5.3.6.0\www\BLOG\vue\commentaire\index.php on line 42
le
Notice: Undefined variable: billet in C:\Program Files\EasyPHP-5.3.6.0\www\BLOG\vue\commentaire\index.php on line 43
Notice: Undefined variable: billet in C:\Program Files\EasyPHP-5.3.6.0\www\BLOG\vue\commentaire\index.php on line 50
Commentaires
Je me perds quelque part et je n'arrive pas à comprendre pourquoi il me dit que ma variable billet est indéfinie à chacune des lignes. Merci pour votre aide.