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 :

mon $_GET['param1'] est vide. [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut mon $_GET['param1'] est vide.
    Bonjour à tous,

    j'ai récupéré un site en local (wamp) qui fonctionne très bien sur le serveur.

    Je suis en train de faire quelques modifs pour qu'il puisse marcher correctement en local.

    Là je tombe sur un OS : le $_GET['param1'] est vide, comment faire pour qu'il soit instancié ??

    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    pourrais tu nous montrer ton code ?

    le params1 est un argument de ton url ?

    du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.url.fr?params1=...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par syl2095 Voir le message
    Bonjour,

    pourrais tu nous montrer ton code ?

    le params1 est un argument de ton url ?

    du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.url.fr?params1=...
    En fait, j'ai par exemple un chemin du type :

    www.exemple.com/titi/toto

    et ensuite dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    switch($_GET['param1'])
    {
        case 'titi' :
            echo "c'est titi";
     }

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_GET);
    echo '</pre>';
    ça t'affiche quoi ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par syl2095 Voir le message
    fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_GET);
    echo '</pre>';
    ça t'affiche quoi ?
    $_GET est pas instancié

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Expliques nous ce qui est censé faire le code ?

    quel est le rôle de params1 ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par syl2095 Voir le message
    Expliques nous ce qui est censé faire le code ?

    quel est le rôle de params1 ?
    EN fait le développeur qui a fait l'appli (je pense) ne devait pas maitriser l'url rewriting du coup il utilise ce système.

    Me but de param1 est de connaitre le chemin, ça serait l'équivalent d'un ^([a-z-])/([a-z-])$ index.php?params1=$1

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    donc il y a en place un module de rewrite..

    as tu activé le mod_rewrite dans ton wamp ?

  9. #9
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Ce serait pas une bête erreur de lecture ? La REGEX mentionne "params1", ton code "param1".


  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Euh, j'ai peut être mal expliqué : le rewrite n'est justement pas utilisé (c'était un exemple que j'avais mis)

    Voici un exemple concret lorsque ça fonctionne (en ligne notamment) :

    Lorsque je vais sur l'url :

    http://www.exemple.com/art-culture/rezrez/ezrezr.html

    mon print_r de $_GET donnera :

    * array(3) { ["param1"]=> string(11) "art-culture" ["param2"]=> string(6) "rezrez" ["file1"]=> string(6) "ezrezr" }


    Pour résumer ma question : existe-t-il quelques sur apache/php qui permette de remplir $_GET de cette manière ?

    Sinon est-ce que c'est forcément un code qui a été fait pour l'application ?

  11. #11
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    théoriquement tu as une page que tu appelles action.php?params=1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.url.com/action.php?params=1
    pour la réécrire, tu dois créer une règle pour que url deviennes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.url.com/action/params/1
    par exemple.

    Mais si tu ne lui spécifies pas à l'url que tu envoies des parametres, apache ne peut pas le deviner

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Pourtant sur la version en ligne, j'ai mis un print_r($_GET) sur la ligne 1 de mon index.php et j'ai bien mon $_GET avec les param1, etc...

  13. #13
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Sans la mise en place du mod_rewrite t'as pas 36 solutions :
    - soit tu fais un rewrite maison en modifiant le rendu de la page 404, mais tu auras un référencement minable donc cette technique est à proscrire,
    - soit tu modifies toutes tes URLs comme syl2095 te l'a montré, c'est à dire en utilisant une affectation normale (par défaut) des paramètres dans l'URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://monsite.com/?param1=rubrique&param2=article1
    - soit, le plus simple, tu modifies tes URLs de manière à avoir quelque-chose du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://monsite.com/?q=rubrique1/article1
    de cette manière il te suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $route = isset($_GET['q']) ? explode('/', $_GET['q']) : array();
     
    var_dump($route);
     
    // et pourquoi pas, pour la compatibilité :
    foreach($route as $i => $part){
        $_GET['param' . ($i + 1)] = $part;
    }

  14. #14
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    donc tu as la même source et quand tu affiches la page

    http://www.exemple.com/art-culture/rezrez/ezrezr.html

    tu as tes GET sur le site en ligne mais pas en local avec ton wamp...

    art-culture/rezrez/ezrezr.html est bien la résultante d'une réécriture d'url non ?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par syl2095 Voir le message
    donc tu as la même source et quand tu affiches la page

    http://www.exemple.com/art-culture/rezrez/ezrezr.html

    tu as tes GET sur le site en ligne mais pas en local avec ton wamp...

    art-culture/rezrez/ezrezr.html est bien la résultante d'une réécriture d'url non ?
    non y'a aucun url rewriting via apache

  16. #16
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    donc tu ne devrais pas pouvoir afficher

    art-culture/rezrez/ezrezr.html

    à moins que ce soit du statique...

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Bon bah finalement j'ai trouvé le pot aux roses, y'avait bien un .htaccess....

    Merci du temps que vous avez consacré pour moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Etats] [2000] Et si mon champ est vide.
    Par DamKre dans le forum IHM
    Réponses: 15
    Dernier message: 22/12/2007, 13h30
  2. Cmt tester si le résultat de mon SQL est VIDE?
    Par ac264 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/10/2007, 11h09
  3. Réponses: 4
    Dernier message: 29/08/2007, 22h54
  4. Réponses: 4
    Dernier message: 22/02/2007, 15h55
  5. [VBA] Pourquoi mon jeu d'enregistrement est vide ?
    Par gyzmo5 dans le forum Access
    Réponses: 2
    Dernier message: 09/02/2006, 14h15

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