les Include pour index.php

Petit nouveau ! | 3 Messages

24 sept. 2006, 14:02

Bonjour,

alors voilà je débute en PHP, je me suis rensigné sur divers sites dont siteduzero.com ( un excellent site) et j'ai vu les include ou pseudo iframe comme certains dise, en claire avec une page index.php qui est le squelette. et avec diverses pages du genre "config.php" qui sont qui se met au centre avec comme lien: index.php?=config si la page s'appelle config.php

mais voilà mon problème, je mets bien le nom config.php et le bon lien, mais il n'affiche rien :( voilà le code php que je mets dans ma page index.php:
<?php
    if ($_GET['page'] == "contact")
    {
        include("contact.php");
    }
    
    if ($_GET['page'] == "news")
    {
        include("news/news.php3");
    }
    
    if ($_GET['page'] == "livredor")
    {
        include("livredor.php");
    }
        if ($_GET['page'] == "staff")
    {
        include("staff.php");
    }
    
    if ($_GET['page'] == "news")
    {
        include("http://www.truecrime-fr.com/nyc/news/news.php3");
    }
    
    if ($_GET['page'] == "forum")
    {
        include("forum.php");
    }
        if ($_GET['page'] == "minichat")
    {
        include("minichat.php");
    }
    
    if ($_GET['page'] == "news")
    {
        include("news.php");
    }
    
    if ($_GET['page'] == "forum")
    {
        include("forum.php");
    }
    
    ?>
les pages ont bien le bon noms mais rien ne s'affiche

voilà mon site: http://www.truecrime-fr.com

j'attend vos réponses merci d'avance. :wink:

Mammouth du PHP | 19672 Messages

24 sept. 2006, 14:18

Ton code est bien lourd. Voici une alternative (partielle, à toi de compléter)

Je te signale au passage qu'on ne parle pas de "pseudo-iframes" mais de "pseudo-frames" (sans le "i")
<?php
/* D'abord, on récupère s'il existe le paramètre envoyé dans l'url */
$page = isset($_GET['page']) ? $_GET['page'] : "accueil";
/* Ensuite on définit quel fichier doit être inclus selon la valeur de ce paramètre */
switch ($page)
{
    case "contact":
        $afficher = "contact.php";
        break;
    case "news":
        $afficher = "./news/news.php3";
        break;
        //... etc...
    /* Définition pour la page index et la page pr défaut si le paramètre n'est pas prévu. */
    case "accueil";
    default:
        $afficher = "index.php";
}
/* Maintenant on peut afficher la page */
include_once($afficher);
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

24 sept. 2006, 21:05

Je te signale au passage qu'on ne parle pas de "pseudo-iframes" mais de "pseudo-frames" (sans le "i")
oui désolé :oops:
<?php
/* D'abord, on récupère s'il existe le paramètre envoyé dans l'url */
$page = isset($_GET['page']) ? $_GET['page'] : "accueil";
/* Ensuite on définit quel fichier doit être inclus selon la valeur de ce paramètre */
switch ($page)
{
    case "contact":
        $afficher = "contact.php";
        break;
    case "news":
        $afficher = "./news/news.php3";
        break;
        //... etc...
    /* Définition pour la page index et la page pr défaut si le paramètre n'est pas prévu. */
    case "accueil";
    default:
        $afficher = "index.php";
}
/* Maintenant on peut afficher la page */
include_once($afficher);
?>
Vous allez peut etre me prendre pour un boulet, mais j'ai presque rien compris. :cry:

Mammouth du PHP | 19672 Messages

24 sept. 2006, 22:58

non, tu n'as rien d'un boulet, on ne peut pas tout savoir et je suis passé un jour par la même étape.

Au lieu d'utiliser une succession de if/elseif/else, j'utilise la fonction switch()

Cette fonction va comparer la valeur du paramètre avec tous les cas décris dans chaque ligne "case" : donc, switch($page) va établir une comparaison avec la valeur de $page. Ensuite, on va utiliser autant de fois case "valeur" qu'on a de cas possibles. Ici, il s'agit de tester la valeur de la variable $page. Cette dernière peut correspondre à "accueil", "news", etc...

Selon le cas, on va définir une action spécifique. Dans le code que j'ai indiqué, pour chaque possibilité, on attribue à une variable $afficher le nom du fichier qu'il faudra inclure. On termine chaque case par l'instruction break : si en effet on a trouvé la valeur correspondante, on exécute l'instruction, mais si rien n'indique qu'il il nécessaire de cesser les recherches de comparaison de valeur, on va passer au case suivant. Donc, pour chaque case, il y a une instruction et un break

On termine le tout avec une instruction par défaut : si aucune des valeurs ne correspond, on va définir une action également : ici, on définit quel fichier on va charger si la variable $page n'est pas définie ou bien vaut une valeur non prévue dans les case précédents.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

25 sept. 2006, 20:59

d'accord ce qu'il y a de sur c'est qu'il faut que j'appelle mes différentes page à inclure avec le nom par ex:
switch ($page) 
{ 
    case "contact": 
        $afficher = "contact.php"; 
        break; 
le nom de la page sera contact.php et le lien: index.php?=contact c'est bien sa ??

dans la page contact.php je dois mettre quelques choses de spéciales car il ne m'affiche toujours rien :(

le squelette de mon site http://www.truecrime-fr.com c'est le menu de droite de gauche la banniere d'en haut et d'en dessous. en clair je voudrais que se soit juste la partie grise au centre qui affiche soit la page contact.php ou livredor.php etc....

Mammouth du PHP | 19672 Messages

25 sept. 2006, 21:20

Regarde ce tuto
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: