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 :

question concernant la forme des paramètres par URL [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut question concernant la forme des paramètres par URL
    bonjour tout le monde

    je vois sur certains sites des liens du style :

    http://www.site.com/index.php?categorie1
    http://www.site.com/index.php?categorie2
    http://www.site.com/index.php?categorie3
    ....etc

    j'aimerai savoir à quoi ça correspond exactement...?

    y a-t'il un rapport avec :

    http://www.site.com/index.php?categorie=1
    http://www.site.com/index.php?categorie=2
    http://www.site.com/index.php?categorie=3
    ...etc

    merci pour votre explication

    a+

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    non en fait c'est pour se faciliter la vie que le développeur doit faire ca. Je viens juste de me retrouver dans le meme cas à l'instant :
    Quand je clique sur un lien ca me ferme la session, du coup mon url était
    http://monsite.com/login.php?action=out

    et je trouvais ça inutile de mettre la valeur "out" dans action alors que c'était la seule action possible.
    Donc j'ai fait ce test:
    http://monsite.com/login.php?action

    et dans mon code j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_GET['action'])
    {
    ...
    }
    mais ca ne change pas grand chose je pense

    au lieu de devoir faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_GET['action'] && $_GET['action'] == "out")
    {
    ...
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    ok merci pour l'info... je vois le genre....sauf que je n'y arrive pas

    dans le sens où je le vois et j'aimerai le faire, j'aurai des liens sur index.php qui iraient vers :

    http://www.site.com/index.php?article1
    http://www.site.com/index.php?article2
    .....

    et qui evidemment si je suis sur la page http://www.site.com/index.php m'affiche l'accueil avec ces fameux liens et si je suis sur http://www.site.com/index.php?article2 m'affiche l'article2, etc...

    je n'arrive pas avec ton exemple à faire ça...

    if(isset($_GET['action']))
    {
    ...
    }

    saurais-tu m'expliquer comment faire stp ?

    Merci

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    ben dans ton cas tu peux faire:
    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
    if(isset($_GET['article1'])
    {
    // Redirige vers article 1
    }
    elseif(isset($_GET['article2'])
    {
    // Redirige vers article 2
    }
    elseif(isset($_GET['article3'])
    {
    // Redirige vers article 3
    }
    // etc.
    else
    {
    // Redirige vers page d'accueil
    }
    MAis c'est long a maintenir je pense pas que ça soit une super solution...

    Tu peux aussi bricoler comme ca
    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
     
    // je pars du principe que l'article est pas trouvé
    $numArticle = 0;
     
    // Je récupère la liste des paramètres GET
    foreach($_GET as $key=> $value)
    {
      // je regarde si la variable passée en GET est articleX
      $nomCherche = "article";
      if(substr($key, 0,strlen($nomCherche) == $nomCherche)
      {
        // Je recupere le numero de l'article voulu
        $numArticle =(int) substr(strlen($nomCherche), strlen($key));
      }
    }
     
    // si le numero de l'article est different de 0, je redirige
    if($numArticle != 0)
    {
    // faire la redirection, si adresse toutes sur le meme format c'est simple
    }
    J'espere avoir été compréhensible

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    encore moi

    tu as été très compréhensible je te rassure...c'est moi qui pédale

    par contre mon soucis à priori est dans la récupération des paramètres GET.
    je pense qu'il récupère rien du tout.

    en plus j'étais parti sur des liens exactement du genre

    index.php?titre-de-l-article1
    index.php?un-autre-titre
    index.php?encore-un-autre

    => ca c'est dans le but que l'adresse soit "parlante" et qu'on sache exactement à quoi elle correspond. mais bon même en adaptant mes adresses à : article1, article2.... en gros avec l'id de l'article comme no je n'arrive pas à le faire fonctionner.

    je peux me tromper mais j'ai l'impression qu'il récupère rien dans le GET...

    merci

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Citation Envoyé par amans
    encore moi

    tu as été très compréhensible je te rassure...c'est moi qui pédale

    par contre mon soucis à priori est dans la récupération des paramètres GET.
    je pense qu'il récupère rien du tout.

    en plus j'étais parti sur des liens exactement du genre

    index.php?titre-de-l-article1
    index.php?un-autre-titre
    index.php?encore-un-autre

    => ca c'est dans le but que l'adresse soit "parlante" et qu'on sache exactement à quoi elle correspond. mais bon même en adaptant mes adresses à : article1, article2.... en gros avec l'id de l'article comme no je n'arrive pas à le faire fonctionner.

    je peux me tromper mais j'ai l'impression qu'il récupère rien dans le GET...

    merci
    Je pense que tu as plus vite fait d'utiliser la forme normale des GET en faisant
    http://monsite.com/script.php?nomvar...valeurvariable
    Pour le fait d'avoir des noms parlants ca sera la meilleure solution, mais ensuite il faut qu'à partir du "nom parlant" tu retrouves l'article correspondant...

    et pour le get il suffit de fait pour afficher tout son contenu et voir ce qui se passe.

Discussions similaires

  1. Questions concernant l'utilisation des ComboBox
    Par philguio dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/01/2007, 11h26
  2. Passer des paramètres à l'URL de retour d'une action
    Par et.rond.et.rond dans le forum JSF
    Réponses: 2
    Dernier message: 03/08/2006, 23h03
  3. question mise en forme des états
    Par cassius777 dans le forum IHM
    Réponses: 7
    Dernier message: 26/02/2006, 20h21
  4. [C#] Envoie des paramètres par référence
    Par efficks dans le forum C#
    Réponses: 4
    Dernier message: 29/11/2005, 23h53
  5. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25

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