Salut à tous !
Je viens vous revoir car je rencontre encore une petit problème, je suis arriver au moment de la création du menu mais je rencontre l'erreur suivante:
Notice: Undefined variable: pages in D:\xampp\htdocs\site\view\layout\default.php on line 15
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\site\view\layout\default.php on line 15
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ANDtype="page"' at line 1 in D:\xampp\htdocs\site\core\Model.php on line 64
Voici mon code de mon "default.php"
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo isset($title_for_layout)?$title_for_layout:'Mon site'; ?></title>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css">
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="container">
<h3><a href="#">Mon site</a></h3>
<ul class="nav">
<?php foreach($pages as $p): ?>
<li><a href="<?php echo BASE_URL. '/pages/view/'.$p->id; ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
</div>
<div class="container">
</div>
<div class="container" style="padding-top:60px;">
<?php echo $content_for_layout; ?>
</div>
</body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</html>
Est ça me dit Page introuvable, je ne trouve pas de ou vient le problème
Merci beaucoup, Cordialement
Problème résolu,
J'ai oublié de mettre
"$this->set($d);"
dans "index" du contrôleur "posts". Dans la vidéo on le voix pas le tapé, il fait un copié coller rapidement je n'avais pas fait attention :)
Pourtant c'est assez flagrant :)
to use near 'ANDtype="page"'
Dans ton model.php qui gère les requêtes via PDO, tu as oublié un espace quelque part entre le AND et le type. j'ai regardé le tuto à l'instant je suppose que c'est dans la fonction find a cette ligne :
$sql .= implode(' AND ',$cond);
Regarde que tu as bien un espace avant et après le 'AND'. Idem dans la fonction delete.
Sinon ta variable $pages ne correspond à rien... tu n'a pas oublié de faire référence à son instance ? Je ne connais pas le tuto je ne peux pas t'aider plus sans d'autres informations.
Désoler du double post mais j'ai encore une erreur que je ne trouve pas.
Désoler aussi de posé toutes ces question mais je decouvre le langage PHP donc j'ai un peu de mal à comprendre les erreurs :)
Voici mon erreur
Notice: Undefined variable: posts in D:\xampp\htdocs\site\view\posts\index.php on line 1
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\site\view\posts\index.php on line 1
Merci
Pas de soucis ! Pour toi, essaye de voir comment faire un debug des tes appli, ça aide à apprendre !
Tu peux me mettre le code de la vue index du contrôleur 'posts' ?
Voilà (c'est bien cela que tu me demande ?)
function index(){
$this->loadModel('Post');
$d'posts'] = $this->Post->find(array(
'conditions' => array('online' => 1,'type'=>'page')
));
}