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

Apache Discussion :

.htaccess, paramètres infinis stockés dans un GET


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut .htaccess, paramètres infinis stockés dans un GET
    Bonjour,
    En écrivant mon .htaccess, je voudrais faire en sorte que, si l'url entrée est module-action-1-2-3-4-true-bonjour.html, trois variables soient passées en paramètre GET à la page PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    - $_GET['module'] = 'module'
    - $_GET['action'] = 'action'
    - $_GET['params'] = array(1, 2, 3, 4, true, 'bonjour');
    Pour les deux premiers, aucun problème, pour le dernier, par contre, je n'ai aucune idée de comment faire.
    Si quelqu'un pouvait me donner ses lumières, ce serait sympa.
    Merci d'avance.

  2. #2
    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
    C'est possible à condition de connaître le nombre de paramètres et que le nombre total de captures soit < à 10. Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(module)-(action)-(1)-(2)-(3)-(4)-(true)-(bonjour)\.html$ monscript.php?module=$1&action=$2&params[]=$3&params[]=$4&params[]=$5&params[]=$6&params[]=$7&params[]=$8 [L]
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($_GET['params']);

    Mais, il est plus sage de récupérer tous ces paramètres groupés au sein d'une seule et même capture et de les découper ensuite avec PHP (fonction explode ou similaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(module)-(action)-([[:alnum:]-]+)\.html$ monscript.php?module=$1&action=$2&extra=$3 [L]
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $params = explode('-', $_GET['extra']);
    print_r($params);

    PS : dans tous les cas les paramètres GET - comme POST - seront des chaînes.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    Merci, ta deuxième solution me convient très bien.
    Mais comment faire si l'un des paramètres supplémentaires est "mon-parametre" ? Le tiret le sépare en deux paramètres, "mon", et "paramètre"

  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
    A moins d'avoir un réel "parser" (PHP) pour reconnaître ensuite les différents paramètres, donc de savoir ou couper ou non, au lieu d'un simple explode (donc plus lourd et potentiellement non fiable), c'est insoluble car le but de ce séparateur est bien de ne pas figurer parmi ceux-ci.

Discussions similaires

  1. fonction à paramètres variables stockée dans une DLL.
    Par bertrand125 dans le forum Langage
    Réponses: 6
    Dernier message: 26/03/2014, 15h33
  2. Pagination et passage de paramètre dans un GET
    Par Marc22 dans le forum Langage
    Réponses: 7
    Dernier message: 16/03/2010, 16h15
  3. Echappement dans paramètres Procédure stockée
    Par Sanceray3 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/09/2009, 18h26
  4. Passer en paramétre un tableau dans une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/04/2006, 11h47
  5. Suppression de paramètre pour procédure stockée dans le code
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/01/2006, 10h51

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