Problème suite envoie paramètre url php.

Résolu/Fermé
ANTHURIUMRE - 15 juil. 2011 à 17:08
ANTHURIUMRE Messages postés 93 Date d'inscription mardi 16 septembre 2008 Statut Membre Derniè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 :

vue/commentaire/index.php

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>TITRE</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
<link href="../../vue/blog/style.css" rel="stylesheet" type="text/css"/>

</head>

<body >

<!--L'ENTETE-->

<div id="entete"><h1>TITRE</h1> COMMENTAIRES</div>

<!--LE MENUENTETE-->

<?php include_once("../../menu/menuentete.php");?>

<!--LE BLOC DE DROITE-->

<div id="menudroite"><h2>COULEUR</h2>

<?php include_once("../../menu/elementmenudroite.php");?>


</div>


<!--LE CORPS-->
<div id="corps">
<?php

foreach($billets as $cle=> $billet)
{
?>

<div class="news">
<h2>
	<?php echo $billet['categorie'];?>//LIGNE 38
</h2>

<h3>
	<?php echo $billet['titre'];?>//LIGNE 42
	<em>le <?php echo $billet['date_de_creation_fr'];?></em>//LIGNE 43
</h3>



<p>

<?php echo $billet['contenu'];?>//LIGNE 50
<br/>
</div><!--div de fin new-->
<div><!--div début commentaire-->
<h2>Commentaires</h2>
<?include_once("menu/recuperationcommentaire.php");?>


</p>
</div>




</div><!--div de fin de corps-->

<!--PIEDDEPAGE-->
<div id="pieddepage">BIZEBI</div>



</body>
</html>
 





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


 

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>ACCEUIL</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
<link href="vue/blog/style.css" rel="stylesheet" type="text/css"/>

</head>

<body >

<!--L'ENTETE-->

<div id="entete"><h1>ACCUEIL</h1> </div>

<!--LE MENUENTETE-->

<?php include_once("menu/menuentete.php");?>

<!--LE BLOC DE DROITE-->

<div id="menudroite"><h2>COULEURS</h2>

<?php include_once("menu/elementmenudroite.php");?>


</div>


<!--LE CORPS-->
<div id="corps">



<?php


foreach($billets as $cle=> $billet)
{
?>
<div class="news">
<h2>
	<?php echo $billet['categorie'];?>
</h2>

<h3>
	<?php echo $billet['titre'];?>
	<em>le <?php echo $billet['date_de_creation_fr'];?></em>
</h3>



<p>

<?php echo $billet['contenu'];?>
<br/>
<em><a href="vue/commentaire/index.php?billet=<?php echo $billet[$cle]['id_billet'];?>">
Commentaires</a></em>
</p>
</div>
<?php
}
?>




</div>

<!--PIEDDEPAGE-->
<div id="pieddepage">BIZEBI</div>



</body>
</html>
 


ET QUE JE CLIQUE SUR LE LIEN

<em><a href="vue/commentaire/index.php?billet=<?php echo $billet[$cle]['id_billet'];?>">
Commentaires</a></em>
 



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.




1 réponse

ANTHURIUMRE Messages postés 93 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 3 janvier 2015 2
20 juil. 2011 à 07:29
Bonjour j'avais mal reporté une variable.
0