8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Bien qu'ayant déjà posté mon sujet par ailleurs sans que d'aucuns ne parviennent à m'aider, je m'en viens vers vous dans l'ultime espoir que quelqu'un puisse [b]réellement
m'aider.
Je cherche à faire un blog selon la nomenclature MVC ( modèle, vue, contrôle ) et mon blog présente cette arborescence.

Donc à ma racine j'ai blog.php qui est mon contrôleur globale et dont le script suit.

Répertoire www/

<?php
include_once('modele/blog/connexion_sql.php');
if(!isset($_GET['section']) OR  $_GET['section']=='index')
{
include_once('controleur/blog/index.php');

}
?>




En cliquant dessus je dois voir mes billets apparaître malheureusement je n'ai que le titre de mon blog. J'ai mis des mouchards au travers des "echo" dans mes diférents fichiers pour voir s'ils étaient appelé et je constate que tous mes fichiers sont bien appelés.

Quelqu'un en regardant mes scripts pourrait-il me dire ce qui ne vas pas. Attention je suis débutant mais j'ai l'impression que c'est le fichier get_billets.php qui ne passe pas. Merci pour votre aide.

Répertoire Modele/blog/

script fichier get_billets.php

<?php
function get_billets($offset,$limit)
{
global $bdd;
$offset=(int)$offset;
$limit=(int)$limit;

$req=$bdd->prepare('SELECT id_billet, titre, contenu, DATE_FORMAT(date_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS
date_creation_fr FROM billets
ORDER BY date_creation DESC LIMIT :offset,:limit');
$req->bindParam(':offset',$offset, PDO: [langue]ARAM_INT);
$req->bindParam(':limit',$limit,PDO: [langue]ARAM_INT);
$req->execute();
$billets=$req->fetchAll();

return $billets;
}
?>


script connexion_sql.php

<?php
//connexion à la base de donnée
try
{
	$bdd= new PDO('mysql:host=localhost;dbname=news','root','');
}
catch(Exception $e)
{
	die('Erreur:'.$e->getMessage());
}
?>


Répertoire vue/blog

script fichier 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>
<h1>TITRE</h1>

<?php


foreach($billets as $cle=> $billet)
{
?>
<div class="news">
<h3>
	<?php echo $billet[$cle]['titre'];?>
	<em>le <?php echo $billet[$cle]['date_creation_fr'];?></em>
</h3>



<p>

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


Répertoire controleur/blog

script fichier index.php

<?php
//on demande les cinq derniers billets(modèle)
include_once('modele/blog/get_billets.php');

$billets = get_billets(0,5);

//On effectue du traitement sur les données (contrôleur)
//Ici on doit surtout sécuriser l'affichage
foreach($billets as $cle=>$billet)

{
	$billet[$cle]['titre']=htmlspecialchars($billet['titre']);
	$billet[$cle]['contenu']=nl2br(htmlspecialchars($billet['contenu']));
}


//On affiche la page (vue)
include_once('vue/blog/index.php');
?>
[/i]