Pouvoir choisir un include

Eléphanteau du PHP | 21 Messages

15 avr. 2008, 13:38

Bonjour tout le monde !

Voila mon probleme : j'ai un site structuré avec un include dans lequel je mets tout le haut de page avec la structure du site. Dedans, il y a d'autres include pour appeler cettaines div de menu avec un fond image en map pour les menus.

Mon souci, c'est que je voudrais pouvoir offrir aux visiteurs plusieurs résolutions d'affichage. Il faudrait pour cela que je puisse switcher entre 2 includes qui seraient adaptées en fonction du template désiré.

Ma question : est-ce possible ?

Merci pour votre aide :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 avr. 2008, 14:13

Bonjour tout seul,

tout simplement :)
if(choix_utilisateur)
   include ("page1");
else
   include("page2");

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 21 Messages

15 avr. 2008, 14:30

C'est vrai je n'y avais pas pensé :)
Mais en pratique je fais comment ? Je suppose que je dois utiliser $_GET pour déterminer le choix de l'utilisateur mais c'est très flou... Actuellement, je n'ai pas de variable dans mes liens.

Je suis vraiment débutante, désolée...

Eléphant du PHP | 76 Messages

15 avr. 2008, 14:36

<

Code : Tout sélectionner

a href="index.php?toto=bobo">blabla</a>
if(isset($_GET['toto'])&&$_GET['toto']==bobo)

   include ("page1");
else
   include("page2");

Eléphanteau du PHP | 21 Messages

15 avr. 2008, 15:04

Merci pour vos réponses, mais avec ce sstème, dès que je vais changer de page, je vais revenir à la résolution d'origine vu que la variable get aura changé.

Eléphant du PHP | 76 Messages

15 avr. 2008, 15:55

Soit tu mets dans tes liens de page la variable toto ou tu la mets dans une session

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 avr. 2008, 16:03

passe le contenu de GET en session


session_start(); // TOUT en haut de la page !!!!


if(isset($_GET['toto']))  // si variable GET existe
{
    // alors création variable de session avec  la page a inclure... par défaut "page1"
   if($_GET['toto']=="page2")
        $_SESSION["skin"]  = "page2";
   else
       $_SESSION["skin"]  = "page1";
}
elseif(!isset($_SESSION["skin"])) // Si pas de GET et pas de var de session = initialisation
    $_SESSION["skin"]  = "page1";

include($_SESSION["skin"]);




c'est quand même un peu le zouk :lol: ... le principe y est...
d'autres façon de faire existent mais ici c'est très compréhensible
regarde ce sujet pour essayer de rendre ça plus compacte :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 558 Messages

15 avr. 2008, 16:05

ce n'est pas dangeureux de mettre en direct le contenu facilement modifiable dans une sessions sans verification?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 avr. 2008, 17:06

ce n'est pas dangeureux de mettre en direct le contenu facilement modifiable dans une sessions sans verification?
comment ça ?

Des tests sont fait
if($_GET['toto']=="page2")
if(!isset($_SESSION["skin"]))
et des valeurs par défaut aussi
   else
       $_SESSION["skin"]  = "page1"; 
$_SESSION["skin"]  = "page1"; 
une autre méthode est de placer en tableau les pages valides
$validPages = array("page1","page2");
if(in_array($_GET['toto'],$validPages )
{
    // ok
}

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 21 Messages

15 avr. 2008, 19:35

Merci pour vos réponses, je vais essayer ça :D