Bonjour,
j ai suivi le tutoriel sur twig et c'est la premiere fois que je fait du twig, j ai deja fait un petit peu de php mais c'est pas du tout mon metier
Ce que je fais
j ai un ficher home.twig ave cun lien comme ceci
"<.a href="movie?id="{{ movie.ID }}> mon film </a>"
j ai un fichier index.php comme ceci :
<?php
header( 'content-type: text/html; charset=utf-8' );
require 'vendor/autoload.php';
// Routing
$page = 'home';
// DEV
$loader = new Twig_Loader_Filesystem(__DIR__ . '/view/templates');
$twig = new Twig_Environment($loader, [
'cache' => false, // '__DIR__.'/tmp'
]);
//liste des films
function movies () {
$pdo = new PDO('mysql:dbname=movie;host=localhost;charset=utf8', 'root' ,'');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$movies = $pdo->query('SELECT * FROM movie');
return $movies;
}
//details films ID
function movie_details($ID) {
$pdo = new PDO('mysql:dbname=movie;host=localhost;charset=utf8', 'root' ,'');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$movies = $pdo->query('SELECT * FROM movie WHERE ID='.$ID);
return $movies_details;
}
//extention externe
$twig->addExtension(new Twig_Extensions_Extension_Text());
switch ($page){
case 'home':
echo $twig->render('home.twig', ['movies' => movies()]);
break;
case 'movie':
echo $twig->render('movie.twig', ['movie_details('.$ID.')' => movie_details]);
break;
case 'contact':
echo $twig->render('contact.twig');
break;
default:
header('HTTP/1.0 404 Not Found');
echo $twig->render('404.twig');
break;
}
Ce que je veux
en fait je voudrais un que lorsque je creer sur une image de films cela me renvoi vers la page movie.twig mais que la fonction movie_details soit executer pour ne recuperer les informations du films choisi
je me doute que je fait un erreur quelque part mais je ne comprends pas ou
ps je suis debutant
Ce que j'obtiens
Objet non trouvé!
L'URL demandée n'a pas pu être trouvée sur ce serveur. Si vous avez tapé l'URL à la main, veuillez vérifier l'orthographe et réessayer.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le webmestre.
Error 404
127.0.0.1
Apache/2.4.34 (Win32) OpenSSL/1.1.0h PHP/7.2.8