PHP problême très simple

Hello !

J'ai un soucis avec un code en php. c'est un appel de modele très simple en soi.J'essaye de dire au serveur que s'il n'y a pas d'appel de page,(empty) on appelle include ($_GET['main_forum']);
Ca marchait très bien hier soir et maintenant ca deconne à nouveau.Quelqun pourrait-il
me dire ce qui cloche là dedans. En gros je voudrais avoir main_forum.php comme page initiale.
Merci à tous.

<body>
<?php

if (empty($_GET['page']))
{
include ($_GET['main_forum']);
}

if ($_GET['page'] == "main_forum")
{
include("main_forum.php");
}
if ($_GET['page'] == "create_topic")
{
include("create_topic.php");
}

if ($_GET['page'] == "add_topic")
{
include("add_topic.php");
}
if ($_GET['page'] == "view_topic")
{
include("view_topic.php");
}
if ($_GET['page'] == "add_answer")
{
include("add_answer.php");
}

?>

</body>
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  1. Bonjour,

    <body>
    <?php
    
    if (empty($_GET['page']))
    {
    include ("main_forum.php"); //tu ne peux pas inclure un GET...  mais un fichier 
    }else{
    
    if ($_GET['page'] == "main_forum")
    {
    include("main_forum.php");
    }
    if ($_GET['page'] == "create_topic")
    {
    include("create_topic.php");
    }
    
    if ($_GET['page'] == "add_topic")
    {
    include("add_topic.php");
    }
    if ($_GET['page'] == "view_topic")
    {
    include("view_topic.php");
    }
    if ($_GET['page'] == "add_answer")
    {
    include("add_answer.php");
    }
    }
    
    //ou une methode plus simple avec switch case
    
    if(!empty($_GET['page'])){
    	$page=$_GET['page'];
    }else{
    	$page=="";
    }
    //commutateur sur la variable $page
    switch ($page){
    	case "main_forum":
    		include("main_forum.php");
    	break;
    	case "create_topic":
    		include("create_topic.php");
    	break;
    	case "add_topic":
    		include("add_topic.php");
    	break;
    	case "view_topic":
    		include("view_topic.php");
    	break;
    	case "add_answer":
    		include("add_answer.php");
    	break;
    	default:
    		include("main_forum.php");
    	break;
    }
    ?>
    
    
    </body>
    0
    1. Immense merci, ca va m'aider grandement.
      J'ai même essayé de me faire passer pour une Tiffany pour accelerer la reponse mais sans suite !
      0
      1. J'ai même essayé de me faire passer pour une Tiffany
        ça change des alizee...
        Sinon, tu as parfaitement le droit de faire include ($_GET['main_forum']); ... à condition que $_GET['main_forum'] contienne un nom de fichier.
        0
        1. Sinon, tu as parfaitement le droit de faire include ($_GET['main_forum']); ... à condition que $_GET['main_forum'] contienne un nom de fichier.

          Oui tout à fait mais c'est un énorme trou de sécurité
          0
        2. @Alain_42c'est vrai...
          0