IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Include gérant 2 variables


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut Include gérant 2 variables
    Bonjour tout le monde,

    Je tiens d'abord a préciser que je viens tout juste de mettre le pied dans ce language...

    Alors voila,
    Jusqu'a là, j'utilisais un systeme d'include sur un petit site perso (gallerie d'images) et voici ce que j'utilisais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
    if (!isset($_GET['cat'])) $categorie= 'interne'; else $cat= $_GET['cat'];
     
    <?php switch($cat)
    {
     
    case 'images-'.$cat.'-01':include ('images/'.$cat.'/'.$cat.'01.php');break;
    case 'images-'.$cat.'-02':include ('images/'.$cat.'/'.$cat.'02.php');break;
    case 'images-'.$cat.'-03':include ('images/'.$cat.'/'.$cat.'03.php');break;
     
    }
    ?>
    avec un lien de ce genre index.php?cat=images-3d-01

    Maintenant, je veux séparer le paramètre des fichier avec celui des pages en rajouter un GET_[page] avec une url de ce type:
    index.php?cat=3d&page=01

    P-e que je suis totalement dans le champs mais, j'ai penser travailler avec un switch mais a 2 variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
    if (!isset($_GET['cat']) AND !isset($_GET['page']))
     $cat= 'interne';
     $page= 01;
    	else {
    		$cat= $_GET['cat'];
    		$page= $_GET['page'];
    		}
    ?>
    Mais maintenant que j'ai 2 variables dans mon URL, je bloque sur la partie du switch..

    La variable cat represente le nom de mon dossier et dans ce dossier, les fichiers porte le meme nom que le dossier c est a dire cat01...cat02..etc.

    Je vous ai surement perdu en cours de route...

    Une solution à mon problème?

    Merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    hum...
    Si j'ai bien compris tu veux faire un include d'un lien index.php?cat=qqchs&page=qqchs où ca et page sont remplis à partir de $_get['page'] et $-get['page']. Pourquoi te prendre la tête avac un switch ? si tu le met directement ça devrait fonctionner, c'est même tout l'intérêt d'utiliser des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    if (!isset($_GET['cat']) AND !isset($_GET['page']))
     $cat= 'interne';
     $page= 01;
    else {
     $cat= $_GET['cat'];
     $page= $_GET['page'];
    }
    include ('index.php?cat='.$cat.'&page='.$page);
    ?>
    Ou alors je n'ai pas tout compris...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut
    Bonjour Celira,

    À vrai dire, je cherche à inclure une page nommé $cat.$page.

    Je te donne un exemple:

    mon fichier s'appelle enfant01.php qui est dans un dossier qui s appelle enfant

    $cat=enfant
    $page=01

    je veux pouvoir y accéder garce au paramètre URL
    index.php?cat=enfant&page=01
    include(.$cat.'/'.$cat..$page.'.php')

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par Leclandestin
    je veux pouvoir y accéder garce au paramètre URL
    ça ne marche pas comme ça : PHP cherchera un fichier de ce nom ; seul le protocole HTTP permet cela - donc requérait une URL complète - mais vous devenez alors dépendant de la configuration du serveur (généralement il l'interdit pour des questions de sécurité). De plus, vous n'incluriez pas votre code PHP mais le code HTML résultant de sa propre interprétation.

    Bref, ce n'est pas utile de chercher à passer des paramètres à un script inclus étant donné qu'il hérite du contexte de l'appelant (donc des mêmes variables).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Par défaut
    Comment faire alors pour pouvoir gérer son site web en php sans nécessairement le faire page par page.

    Excluant les includes, et les CMS, je ne vois pas comment je pourrais faire pour generer mes pages sans y inclure tout le temps le header ainsi que les menus et footer.

    D'ailleurs j'ai jamais compris comment fonctionne le squelette de tous les sites web que l'on peut voir sur internet...

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Les inclusions fonctionnent très bien c'est simplement l'usage que vous en faites qui est "erroné" :

    Soit un script a.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $var = 3;
    include('b.php');
    Et b.php :
    La variable $var est bien définie dans le script inclus. Inutile de chercher à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    include('b.php?var=3');
    Ça ne fonctionnera pas de la sorte (sans faire appel au protocole HTTP, qui changerait beaucoup de choses comme expliqué plus haut).

Discussions similaires

  1. variable et include, remplacement de variable
    Par didou038 dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2006, 17h05
  2. [JSP] include file avec variable
    Par lcoder dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/10/2006, 09h31
  3. include + nom de variable dans JSP
    Par Mister Nono dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/09/2006, 11h27
  4. Comment puis-je mettre un include dans une variable
    Par pierrot10 dans le forum Langage
    Réponses: 17
    Dernier message: 31/08/2006, 08h45
  5. [Mail] Mettre un include dans une variable
    Par Death83 dans le forum Langage
    Réponses: 16
    Dernier message: 04/03/2006, 20h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo