Bonsoir à tous,
J'apprend à travailler avec l’architecture MVC. Je me suis lancer sur un projet de blog, dont les publications s'affiche par catégories.

Il y a une problématique que je n'arrive pas à résoudre. Votre aide serait donc la bien venue

Mon code index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php 
//inclision des fichiers principaux
include_once '_config/config.php';
include_once '_config/db.php';
include_once '_function/functions.php';
include_once '_classes/Autoloader.php';
 
Autoloader::register();
 
/*$var = new Postes(1);
debug(Postes::getAllPostes());
debug($var);*/
 
//definition de la page courante
if(isset($_GET['page']) AND !empty($_GET['page'])){
    $page = trim(strtolower($_GET['page']));
}else{
    $page = 'home';
}
 
/**tableau contenant toutes les pages
 * la fonction scandir va retourner un tableau
 * de tous les fichiers et dossiers issus du dossier 
 * controllers*/
$allpage = scandir('controllers/');
 
//Verification de l'existence des pagesxxxxxxxxxxxx
if(in_array($page.'_controller.php', $allpage)){
    include_once 'models/'.$page.'_model.php';
    include_once 'controllers/'.$page.'_controller.php';
    include_once 'views/'.$page.'_view.php';
    foreach($allCategories as $index => $category){
        if($_GET['Entreprenariat'] === $category['name'] ){
            echo "hello";
        }
    }
 
    }else{
echo "ERREUR 404";
}
mon fichier category_view.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>
<html lang="fr">
    <!--head -->
    <?php include_once 'views/includes/head.php';?>
 
<body>
    <!--header -->
    <?php include_once 'views/includes/header.php';?>
 
    <!-- liste des catégories -->
  <div class=" container nav-scroller py-1 mb-2">
    <nav class="nav d-flex justify-content-between">
      <?php foreach($allCategories as $index => $category) : ?>  
    <a class="p-2 text-muted" href="../?page=category/?<?=$category['name']?>"><?=$category['name']?></a>
    <?php endforeach ?>
    </nav>
  </div>
 
    <div class="jumbotron p-4 p-md-5 text-white rounded bg-dark">
        <div class="col-md-6 px-0">
            <h6 class="display-4 font-italic"><?=$lastPoste['title']?></h6>
            <p class="lead my-3"><?=$lastPoste['content']?></p>
            <p class="lead mb-0"><a href="#" class="text-white font-weight-bold">Lire la suite...<a></p>
        </div>
    </div>
 
<!-- poste générale -->
<main role="main" class="container">
  <div class="row">
    <div class="col-md-8 blog-main">
      <h3 class="pb-4 mb-4 font-italic border-bottom">
        Autre postes
      </h3>
 
      <?php foreach($allPostes as $index => $poste) : ?>
        <!--Blogs poste-->
        <div class="blog-post">
        <h4 class="blog-post-title"><?=$poste['title']?></h4>
        <p class="blog-post-meta"><?=date_format(date_create($poste['date']), "d/m/Y à H:i")?> par <a href="#"><?=$poste['firstname'].' '.$poste['lastname']?></a></p>
 
        <p><?=$poste['content']?></p>
      </div><!-- /.blog-post -->
 
      <?php endforeach?>
 
  </div><!-- /.row -->
</main><!--<!-- /.container -->
 
<!--footer -->
<?php include_once 'views/includes/footer.php';?>
</body>
</html>
Comme vous pouvez le constater j'essaye de récupérer a partir de l'url la catégorie sélectionnée et évidemment vue que la page dans l'url n'est pas dans le dossier controllers
je récois une erreur 404.

Nom : Capture d’écran (189).png
Affichages : 75
Taille : 83,7 KoNom : Capture d’écran (190).png
Affichages : 69
Taille : 25,8 Ko

comment je peux contourner ce problème? merci d'avance