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 :

[Tableaux] Query Strings 2-probs


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Tableaux] Query Strings 2-probs
    Bonjour à tous

    J'utilise des query strings dans un fichier nommé index.php

    J'aimerais savoir comment implanter un contenu qui ne sera visible UNIQUEMENT lorsque l'on accède à la page sans aucune query (donc uniquement a index.php tout court). Si j'ajoute du contenu directement sur la page sans directive, le contenu se retrouve sur chaque page en querystring.

    De plus, lorsque je mets la commande isset() à ma variable de query string ($page=isset($_GET['page']), si je load une query (ex index.php?page=exemple), toutes les autres query se collent en dessous, ce qui ne se produit pas sans le isset. Comment faire pour éviter cela ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior

    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
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par MrBean02
    J'aimerais savoir comment implanter un contenu qui ne sera visible UNIQUEMENT lorsque l'on accède à la page sans aucune query (donc uniquement a index.php tout court). Si j'ajoute du contenu directement sur la page sans directive, le contenu se retrouve sur chaque page en querystring.
    Testez le tableau $_GET, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (count($_GET) == 0) {
        echo "La page a été appelé sans query string";
    } else {
        echo "La page a été appelé avec query string";
    }
    Citation Envoyé par MrBean02
    De plus, lorsque je mets la commande isset() à ma variable de query string ($page=isset($_GET['page']), si je load une query (ex index.php?page=exemple), toutes les autres query se collent en dessous, ce qui ne se produit pas sans le isset. Comment faire pour éviter cela ?
    Peut-on avoir le code en question car le problème ne peut venir de isset seul ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    mon code est structuré comme ceci :

    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
    $page=$_GET['page'];
     
         if($page=="nomdelapage")
         {
                include ('inc_top.php');  
                echo 'contenu';
                include ('inc_foot.php');
         } 
     
            if($page=="nomdelapage2")
         {
                include ('inc_top.php');  
                echo 'contenu2';
                include ('inc_foot.php');
         } 
     
    # ...
    si je veux utiliser isset c'est pour faire disparaitre le message :
    Notice: Undefined index: page in index.php
    quand on y accède sans query de page.

    Vous avez réglé mon premier problème, merci pour ça !

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Vu la structure de votre page, je vous conseillerai d'utiliser une boucle switch plutôt qu'un enchainement de if :

    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
    <?php
     
    include ('inc_top.php'); 
     
    switch ( $_GET['page'] )
    {
        case 'page1':
        echo 'Contenu 1';
        break;
     
        case 'page2':
        echo 'Contenu 2';
        break;
     
        case 'page3':
        echo 'Contenu 3';
        break;
     
        ...
     
        default:
        echo 'Contenu si $_GET[\'page\'] ne vaut aucune des valeurs enumerees ci-dessus; une erreur 404 par exemple.';
        break;
    }
     
    include ('inc_foot.php');
     
    ?>
    Nico.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour le switch, mais j'ai encore droit au notice

    et si je mets isset, j'attrape le premier case pour chaque querystring

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par MrBean02
    Merci pour le switch, mais j'ai encore droit au notice
    et si je mets isset, j'attrape le premier case pour chaque querystring
    Donne-nous la *portion* du code incriminé.


    PS à Nicolas N. : switch n'est pas une boucle
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Salut , si je comprend bien le prob un isset( $_GET['page'] && $_GET['page'] !="" ) avant ton switch sufit pour ne pas avoir de undifined index non !
    Je suis Développeur Senior ouvert aux opportunités
    Mon blog

Discussions similaires

  1. [Tableaux] Url rewriting et query string
    Par Evocatii dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2008, 17h36
  2. Tableaux de string (suite)
    Par Claude URBAN dans le forum C++
    Réponses: 3
    Dernier message: 09/08/2006, 11h13
  3. Réponses: 3
    Dernier message: 26/04/2006, 21h45
  4. Problème avec RegEx et une Query string
    Par Erakis dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 15h48
  5. Query-string sur l'objet history
    Par AlLutun dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/11/2004, 09h20

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