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

PHP & Base de données Discussion :

recuperer la variable URL ?rubrique10 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut recuperer la variable URL ?rubrique10
    Bonjour

    savez vous comment récupérer rubrique10 dans une url du genre spip.php?rubrique10 ?


    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    tu peux parcourir $_GET avec foreach() ou même utiliser array_keys()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    je vais essayer mais je vois pas trop

    merci

  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 que la variable $_SERVER['QUERY_STRING'] ne vous convienne ?

  5. #5
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    je vais essayer aussi

    merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo array_shift(array_keys($_GET));

  7. #7
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    sur spip.php?rubrique10

    je veux juste récupérer rubrique10 et c'est vraiment tout
    si vous savez le faire précisément ?

    merci

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = array_shift(array_keys($_GET));
    hum ...

  9. #9
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par jehanon
    Je veux juste récupérer rubrique10 et c'est vraiment tout
    si vous savez le faire précisément ?
    Cette URL ressemble comme 2 gouttes d'eau à de la réécriture.

    Si c'est le cas, il sera difficile d'obtenir cette URL très exactement, car Apache va la réécrire justement sous sa forme attendue (exemple) : spip.php?rubrique=10 (ou spip.php?rubrique_id=10 ... faut voir ...)
    Si tu veux reproduire la même URL, il te faudras appliquer la même règle d'écriture des URLs, pour ça, il te faut la clé + valeur, chose que tu peux obtenir en faisant une boucle sur $_GET ou avec $_SERVER['QUERY_STRING'], comme on te l'a proposé.

    D'ailleurs, as tu essayé ? et qu'est ce que tu obtiens ? (fais un echo pour voir).

  10. #10
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    j'ai désactivé cette réécriture d'url à la mord-moi-le-nœud , et ça donne rubrique=10 que je récupère facilement
    merci

  11. #11
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    j'ai désactivé cette réécriture d'url à la mord-moi-le-nœud, et ça donne rubrique=10 que je récupère facilement
    Tu vas peut être t'en mordre les doigts aussi, qui sait ... la réécriture est faite pour améliorer l'indexation des articles dans les moteurs de recherche, du coup, en la désactivant tu risque de tout perdre.

    Vu que tu connais maintenant la règle : rubrique=Id_de_la_rubrique, un simple code comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $rub_id = (int)$_GET['rubrique'];
    echo 'rubrique = '.$rub_id.'<br> /';
    Va afficher : rubrique = 10
    Ceci va te permettre d'exploiter son Id, voir recréer le même lien par exemple, avec ou sans la règle d'ailleurs.

    Puis de toute manière, que l'URL soit réécrite ou non, au bout, l'URL exploitable sera toujours de la forme : rubrique=Id_de_la_rubrique

    Bref ... désactiver la réécriture ne sert à rien ... enfin, sauf erreur

  12. #12
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 34
    Par défaut
    oui mais c'est tout simple à recuperer avec un ?rubrique=10

    pour la réécriture franchement ?rubrique=10 ou ?rubrique10 pour les moteurs c'est rigoureusement pareil et dépourvu d'informations

  13. #13
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    oui mais c'est tout simple à recuperer avec un ?rubrique=10
    Et bien non justement, car c'est pareil.

    Ceci dit, peut être que le lien, la règle en faite, au départ est mal faite, il y a erreur, se qui fait que tu ne parviens pas à récupérer le paramètre vu que le serveur (Apache) n'a pas appliqué la réécriture.

    En somme, se qui t'oblige à supprimer la réécriture pour pouvoir récupérer le paramètre.
    Je ne sais pas si je suis clair.

    Ce qui est dommage (et pour comprendre), c'est que tu n'a jamais fais un retour sur ce que retourne $_GET ou $_SERVER['QUERY_STRING'], quand la réécriture est activée.
    Un simple print_r($_GET) suffit pour voir s'il y a un paramètre ou pas.
    S'il y en a pas, alors la réécriture est foireuse, tout simplement.

    pour la réécriture franchement ?rubrique=10 ou ?rubrique10 pour les moteurs c'est rigoureusement pareil et dépourvu d'informations
    Je ne suis pas certain, pas sûr du tout que ça soit identique, car si on regarde bien, il n'y pas de couple : param=valeur mais juste un nom, quand bien même il y ait un ? (point d'interrogation).

    Ceci dit, j'aurais plus vu une URL du genre : -http://domaine.com/un_article-a10.html (à titre d'exemple).

    Faudrait voir ça avec des gars qui maitrise Spip, ce qui n'est pas mon cas, pour voir si cette règle d'écriture est normale, prévue par ce soft.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    Sans vouloir insister (ça fait juste 3 fois que je lui donne la réponse) ...

    Utilises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = array_shift(array_keys($_GET));
    Ce n'est pas du rewriting c'est juste qu'il n'ya qu'une clé du tableau associatif GET et non une clé + valeur

  15. #15
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par yabyab
    Ce n'est pas du rewriting
    Si, il y a réécriture, et ça ne pouvait pas être autrement d'ailleurs, et le fait de l'avoir supprimé il parvient cette fois à récupérer le paramètre.

    A mon avis, la réécriture ne fonctionne pas comme prévue, ça déconne.
    Donc si la réécriture déconne, $_GET retournera rien.

  16. #16
    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 : 38
    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
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Si, il y a réécriture, et ça ne pouvait pas être autrement d'ailleurs, et le fait de l'avoir supprimé il parvient cette fois à récupérer le paramètre.

    A mon avis, la réécriture ne fonctionne pas comme prévue, ça déconne.
    Donc si la réécriture déconne, $_GET retournera rien.
    Peut-être qu'il utilise une réécriture d'URL, mais je ne vois pas trop le rapport...

    La personne ne cherche qu'à récupérer la clé d'un paramètre GET sans valeur... et yabyab a donné la solution.

  17. #17
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Ca été confirmé :
    Citation Envoyé par jehanon
    j'ai désactivé cette réécriture d'url à la mord-moi-le-nœud , et ça donne rubrique=10 que je récupère facilement
    Il a un problème de réécriture, ça tombe sous l'sens.

    Donc s'il y a erreur dans la réécriture, il y a de forte chance que $_GET soit nulle, ne retournera rien ...

  18. #18
    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 : 38
    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
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Ca été confirmé :

    Il a un problème de réécriture, ça tombe sous l'sens.

    Donc s'il y a erreur dans la réécriture, il y a de forte chance que $_GET soit nulle, ne retournera rien ...
    Non ca ne tombe pas sous le sens, rien ne dit que réécrire :
    en
    n'est pas le fonctionnement du système...

    N'embrouillons pas davantage jehanon, il avait une question, la réponse a été donnée. Merci.

  19. #19
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par ThomasR
    N'embrouillons pas davantage jehanon, il avait une question, la réponse a été donnée. Merci.
    Non, aucune solution ne lui a été donnée, il l'a trouvée tout seul : supprimer la réécriture.

    Personne lui a dit de le faire que je sache.

    Si avec la réécriture il est impossible d'obtenir la clé et la valeur, puis après, en désactivant la réécriture on y parvient, alors c'est la réécriture qui fonctionne mal, ça tombe sous le sens.
    Je ne vois pas où est l'embrouille.

    De plus, désactiver la réécriture n'est pas la meilleure solution, tout juste un moyen provisoire, il serait bon de voir se qu'il ne va pas, et en particulier le mécanisme qui crée les liens.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    La question est de savoir si ce qu'il a désactivé est bien un rewriting via mod_rewrite ou une simple gestion d'url interne à l'application ... étant donné la présence du "?" dans l'url je penche plutôt pour un rewriting interne à l'application (PHP) et qui donc n'altère en rien le contenu de $_GET.

    C'est pourquoi je lui suggère de traiter la clé via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $var = array_shift(array_keys($_GET));
    Saches, runCodePHP, qu'un simple ?rubrique10 peut être généré et traité sans le mod_rewrite d'Apache, mais en pur PHP

    C'est pourquoi il est possible que la sois disante désactivation du rewriting ne soit en fait géré qu'au niveau de php et de la génération des urls de son CMS (Spip à priori).

    En tout cas si l'url ?rubrique10 est vraiment géré via mod_rewrite et bien c'est un sacré gachi !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. recuperer une variable depuis l'URL
    Par Invité dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/11/2008, 18h00
  2. recuperer une variable a partir de l'url d'une page aspx
    Par Taoufik109 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/05/2008, 13h40
  3. [Configuration] php pour recuperer une variable dans l'url sans utiliser $_GET
    Par mikebranque dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 22/06/2006, 20h22
  4. question tres simple : recuperer une variable d'URL
    Par H-bil dans le forum Langage
    Réponses: 5
    Dernier message: 14/06/2006, 16h26
  5. [VB.NET]Recuperation de variable dans un URL...
    Par seb_acsg dans le forum ASP.NET
    Réponses: 11
    Dernier message: 28/01/2004, 14h01

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