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 :

Récupération variable dans liens et inclure un page php en fonction de celle-ci


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut Récupération variable dans liens et inclure un page php en fonction de celle-ci
    Bonjour à tous,

    J'ai un petit souci je n'arrive pas à inclure un page php pourtant rien de bien compliqué mais rien ne s'affiche !
    Voici le code le page principale et celui de la page1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <html>
    <head></head>
    <body>
    <div id="haut">
     
              <li><a href="gest_util.php?page=1">PAGE 1</a></li>
              <li><a href="gest_util.php?page=2">PAGE 2</a></li> 
              <li><a href="gest_util.php?page=3">PAGE 3</a></li>
     
    </div>
    <?
     
     if(!empty($GET_['page'])) 
    {
        switch($GET_['page']){
          case 1 : include('page1.php');
                    break;
          case 2 : include('page2.php');
                    break;
          case 3 : include('page3.php');
                    break;
        }
    }
    ?>
     
    </body>
    </html>
    page 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
    <link href="../../intranet.css" rel="stylesheet" type="text/css"> 
    </head>
    <body>
     
     
    <div id="test">
    PAGE 1
    </div>
    </body>
    </html>
    Merci de votre aide !

  2. #2
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    $_GET et non $GET_ :

    Citation Envoyé par curt25 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    
     if(!empty($GET_['page'])) 
    {
        ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    
     if(!empty($_GET['page'])) 
    {
        ...
    Etre à son compte, y'a rien de mieux !

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Merci bien éfectivement j'avais pas vu !
    Mais toujours pas sinon j'avais fait de cette manière, pour un même résultat final...
    Au secours !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <html>
    <head>
    <title>Les Pseudo Frames</title>
    </head>
    <body>
    <div id="haut">
    			<li><a href="gest_util2.php?page=1">PAGE 1</a></li>
              <li><a href="gest_util2.php?page=2">PAGE 2</a></li> 
              <li><a href="gest_util2.php?page=3">PAGE 3</a></li>
    </div>
    <?
    switch($page) { 
     
    case "1":
    include("page1.php"); 
    break;
    case'2': 
    include("page2.html"); 
    break; 
     
    case'3':
    include("page3.php"); 
    break; 
     
    }
    ?>
     
    </body>
    </html>

  4. #4
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Observe le contenu de $_GET ainsi :

    C'est un bon début pour débugger
    Etre à son compte, y'a rien de mieux !

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Merci pour ton astuce.
    Il prend bien en compte les differrents cliques sur les liens, il indique :
    Array ( [page] => 1 )
    Pour la page 1 et ainsi de suite...
    donc il passe bien dans le si et exécute mon include !
    Est-ce que se serais pas un broblème d'affichage tout simplement ?
    Ou le contenu de ma page1 ?

  6. #6
    Membre actif Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Points : 278
    Points
    278
    Par défaut
    Remplace les includes par des echos, et ajoute un bloc default à ton switch

    On va bien finir par trouver
    Etre à son compte, y'a rien de mieux !

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    J'ai fait se que tu m'a dit mais rien du tout, page blanche... (tu du moins mes liens restent)
    on dirai qu'il ne rentre pas dans le case mais pas non plus par le default donc je ne comprend pas...
    sa fait un bout de temps que je suis dessus et j'ai fini par lacher prise c'est pourquoi je poste ici
    Merci.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Points : 382
    Points
    382
    Par défaut
    Redonne ton code corrigé
    Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Voilà mon code corrigé mais toujours une page blanche en résultat de mon include

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <html>
    <head></head>
    <body>
    <div id="haut">
     
              <li><a href="gest_util.php?page=1">PAGE 1</a></li>
              <li><a href="gest_util.php?page=2">PAGE 2</a></li> 
              <li><a href="gest_util.php?page=3">PAGE 3</a></li>
     
    </div>
    <?php
    print_r($_GET);
    ?>
     
    <?
     
     if(!empty($_GET['page']))  
    {
     
        switch($_GET['page']){
          case '1' : include ('page1.php');
     
                    break;
          case '2' : include ('page2.php');
                    break;
          case '3' : include ('page3.php');
                    break;
          default :  echo "de");
        }
    }
    ?>
     
     
     
     
     
    </body>
    </html>
    Merci...

  10. #10
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Il y avait déjà une erreur de synthaxe au niveau du default de votre switch (une paranthèse qui était présente et qui provoquait une erreur dans le code).
    Ensuite, j'ai testé votre code et il fonctionne très bien.
    Après, qu'il vous retourne une page blanche avec les include cela peut s'expliquer si vous n'avez pas entrer de code html dans vos pages : page1.php, page2.php et page3.php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <html>
    <head></head>
    <body>
    <div id="haut">
     
              <li><a href="gest_util.php?page=1">PAGE 1</a></li>
              <li><a href="gest_util.php?page=2">PAGE 2</a></li> 
              <li><a href="gest_util.php?page=3">PAGE 3</a></li>
     
    </div>
    <?php
    print_r($_GET);
    ?>
     
    <?
     
     if(!empty($_GET['page']))  
    {
     
        switch($_GET['page']){
          case '1' : include ('page1.php');
     
                    break;
          case '2' : include ('page2.php');
                    break;
          case '3' : include ('page3.php');
                    break;
          default :  echo "de";
        }
    }
    ?>
     
     
     
     
     
    </body>
    </html>

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Merci.
    En réalité j'appel pas page1... Mais une page HTML
    que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <html>
    <head>
    <link href="../../intranet.css" rel="stylesheet" type="text/css"> 
    </head>
    <body>
     
    <div id="test">
    <FORM method=post action="creerutil.php" name="creer_util">
     
    <TABLE BORDER=0>
    <TR>
    	<TD>Utilisateur</TD>
    	<TD>
    	<INPUT type=text name="login" SIZE="8" MAXLENGTH="12"> 
    	</TD>
    </TR>
     
    <TR>
    	<TD>Mot de passe</TD>
    	<TD>
    	<INPUT type=password name="pwd" SIZE="8" MAXLENGTH="12">
    	</TD>
    </TR>
    <TR>
    	<TD>Resaisir mot de passe</TD>
    	<TD>
    	<INPUT type=password name="pwd2" SIZE="8" MAXLENGTH="12">
    	</TD>
    </TR>
     
     
     
    <TR>
    	<TD >
    	<INPUT TYPE="submit" WIDTH=40 HEIGHT=35 BORDER=1 ALT="Envoyer" value="créer">
     
    	</TD>
    </TR>
    </TABLE>
    </form>
    </div>
     
    </body>
    </html>
    Mais même quand j'appel une page PHP tout simple du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    <head>
     
    </head>
    <body>
    <br><br><br><br><br>
    ça marche...
    </body>
    </html>
    Ca ne marche toujours pas c'est incompréhensible pour moi...

  12. #12
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Vous n'appelez pas page1 ?

    Pourtant vous incluez bien les pages nommées : page1.php, page2.php et page3.php...

    Si par exemple vous mettez un fichier nommé page1.php dans le même repertoire que votre fichier gest_util.php contenant le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html>
    <head>
     
    </head>
    <body>
    Toto
    </body>
    </html>
    Lorsque vous allez cliquer sur le lien page1 de votre page gest_util.php, est ce qu'il vous affiche les liens suivit de Toto ?

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Non je n'appel pas la page1 mais je change bien évidement dans le code de gest_util.php la page à inclure.
    J'ai essayé en incluant votre page1.php qui se trouve bien dans le même répertoire que gest_util.php
    Mais il ne m'affiche rien du tout pourtant il me met :
    .../gest_util.php?page=1 dans la barre d'adresse...
    Pensez vous que celà peut venir de ma configuration de EasyPHP.
    Ma configuration :
    Apache 2.2.3
    PHP 5.2.0
    Avec EasyPHP 2.0b.
    Merci de votre aide.

  14. #14
    Nouveau membre du Club Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Je ne sais pas si j'ai bien saisi le truc mais j'ai un système équivalent et je n'ai pas besoin de $_GET['mapage'] donc essaye sa voir si sa fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <html>
    <head></head>
    <body>
    <div id="haut">
     
              <li><a href="gest_util.php?page=1">PAGE 1</a></li>
              <li><a href="gest_util.php?page=2">PAGE 2</a></li> 
              <li><a href="gest_util.php?page=3">PAGE 3</a></li>
     
    </div>
    <?php
    print_r($_GET);
    ?>
     
    <?
     
     if(!empty($page))
    {
     
        switch($page){
          case '1' : include ('page1.php');
     
                    break;
          case '2' : include ('page2.php');
                    break;
          case '3' : include ('page3.php');
                    break;
          default :  echo "de";
        }
    }
    ?>
     
     
    </body>
    </html>
    mais je te conseillerai plutôt ceci dans ton gest_util.php (c'est mon avis fais en ce que tu veux...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(isset($page) && file_exists("$page")) {
    include("$page");
    }
    else {
    echo 'Vous n\'avez pas sélectionné de page ou le fichier '.$page.' n\'existe pas';
    }
    avec des liens du type <a href="gest_util.php?page=page1.html">PAGE 1</a>

    bon après je m'y connais pas trop donc si sa fonctionne pas...désolé

  15. #15
    Membre du Club
    Homme Profil pro
    Développeur DELPHI
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur DELPHI
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 55
    Points
    55
    Par défaut
    Merci pour ton aide J'ai essayé ton code et sans succès !
    DU moins pas d'erreurs syntaxiques mais affichage d'une page blanche comme si le include incluait une page blanche...
    Mais je ne perd pas espoir je continu de développer mes pages sans prendre en compte ce détail... En attendant un éclair de génie !
    Encore merci.

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Bonjour tout le monde,
    J'ai le même problème que toi. J'avais développé un site pour ma boite à l'aide d'easyphp et je viens d'installer php5 et apache2 et mes includes ne fonctionnent plus.
    Je récupère bien ce qu'il y a dans ma barre d'adresse (par exemple $menu=1) mais après il n'inclu pas mes autres fichiers
    Quelqu'un aurait une idée?
    Merci de votre aide.

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Je viens de trouver un truc intéreesant, se serait ma connexion a ma base oracle qui me faite planter... bizzar

Discussions similaires

  1. Passage de variable dans lien
    Par oclone dans le forum ASP.NET
    Réponses: 9
    Dernier message: 19/11/2008, 15h16
  2. variable dans lien hypertexte
    Par axon74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2008, 11h02
  3. [Smarty] Problème récupération variable dans un for
    Par slaxsystem dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 02/05/2007, 17h10
  4. Variables dans lien
    Par felix4 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2007, 12h22
  5. $_POST[variable] ou $variable dans lien de confimation ?
    Par psychoBob dans le forum Langage
    Réponses: 6
    Dernier message: 09/05/2006, 14h08

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