PHP

Problème de redirection vers une autre page

Résolu

Bonjour à tous,


Je suis en train de suivre le tuto de sitedudev sur Youtube PHP #14 Forum : Afficher la liste des topics. Durant de la création du forum j'ai rencontré un problème, dans la page forum-2.php j'ai ajouté le lien qui doit rediriger vers une autre page sujet-2.php où sera affiché la liste des topiques. Mais le problème ce que lorsque je clique sur le lien pour rediriger vers une autre page, le css de la page sujet-2.php disparaît. Dans le console du navigateur de la page sujet-2.php il y a des erreurs qui m'affiche :


La feuille de style http://localhost/EDUTECH/sujet-2.php/sujet-2.css n’a pas été chargée car son type MIME, « text/html », n’est pas « text/css ».

La feuille de style http://localhost/EDUTECH/sujet-2.php/css/bootstrap.min.css n’a pas été chargée car son type MIME, « text/html », n’est pas « text/css ».

Le script à l’adresse « http://localhost/EDUTECH/sujet-2.php/js/bootstrap.min.js » a été chargé alors que son type MIME (« text/html ») n’est pas un type MIME JavaScript valide.

SyntaxError: expected expression, got '<'


Voici le code de la page forum-2.php :


<?php
    session_start();
      include('connexionDB.php');
      // S'il n'y a pas de session alors on ne va pas sur cette page
      if(!isset($_SESSION['id'])){
        header('Location: connexion.php');
        exit;
     }
      


      $req = $DB->query("SELECT *
          FROM forum
          ORDER BY ordre");
      $req = $req->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Forum</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="forum-2.css">
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap" rel="stylesheet">
</head>
<body>
    <div class="text-center">
        <h6 class="under-title">Forum</h6>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-0 col-sm-0 col-md-0 col-lg-0"></div>
            <div class="col-12 col-sm-12 col-md-12 col-lg-12">
                <div class="table-responsive">
                    <table class="table table-striped">
                        <tr>
                            <th>ID</th>
                            <th>Titre</th>
                        </tr>
                        <?php
                            foreach($req as $r){
                            ?>  
                            <tr>
                                <td><?= $r['id'] ?></td>
                                <td><a href="sujet-2.php/<?= $r['id'] ?>"><?= $r['titre'] ?></a></td>
                            </tr>   
                            <?php
                            }
                        ?>
                    </table>
                </div>
            </div>
        </div>
    </div>  
</body>
</html>  


Merci d'avance pour vos réponses.

644 vues
08 juillet 2020 à 16:47 (Édité)
Cette pub permet au site de vivre ...

Salut ,


Je ne sais pas si tu as fait un oubli mais pour ton lien ce n'est pas correct si tu n'utilises pas un fichier .htaccess :


<a href="sujet-2.php/<?= $r['id'] ?>"><?= $r['titre'] ?></a>


La c'est mieux :


<a href="sujet-2.php?id=<?= $r['id'] ?>"><?= $r['titre'] ?></a>


et sur ta page sujet-2.php tu récupères l'id avec un $_GET['id']

Cette pub permet au site de vivre ...

2 commentaires

Bonjour @Clouder,


J'ai ajouté le code que vous m'avez conseillé et tout fonctionne bien, pour l'instant je n'utilise pas un fichier .htaccess.


Je vous remercie pour votre réponse.

Salut ,


Je ne sais pas si tu as fait un oubli mais pour ton lien ce n'est pas correct si tu n'utilises pas un fichier .htaccess :


<a href="sujet-2.php/<?= $r['id'] ?>"><?= $r['titre'] ?></a>


La c'est mieux :


<a href="sujet-2.php?id=<?= $r['id'] ?>"><?= $r['titre'] ?></a>


et sur ta page sujet-2.php tu récupères l'id avec un $_GET['id']

Cette pub permet au site de vivre ...