RECUPERER LES VARIABLES D'URL DANS UN TABLEAU.

cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007 - 28 févr. 2006 à 08:59
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 28 févr. 2006 à 13:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36289-recuperer-les-variables-d-url-dans-un-tableau

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 févr. 2006 à 13:51
J'avais bien compris, et si tu testes mon code, tu verras qu'il te renvoie exactement ce que tu veux (et même un peu plus à dire vrai). Et avec une expression régulière en lieu et place de mes deux explode (je le répête, j'avais la flemme), le code serait encore plus court.
Je ne te prends pas pour un idiot, je te montre que ta fonction fait double emploi avec parse_url () (qui est une fonction interne PHP), moyennant 2-3 lignes de code en plus...
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
28 févr. 2006 à 13:36
Désolé mais mon commentaire n'avais pas pour but de te prendre pour un idiot, ni pour quoi que ce soit d'autre d'ailleur.
Son but était soit de te (et a d'autre par la même occasion) faire comprendre quelque chose et/ou bien de comprendre ce que tu as fait.

Visiblement je ne suis pas le seul à ne pas avoir compris le but de ton script, maintenant c'est plus clair...

Comme quoi ce fut utile ;-)
spottydj Messages postés 13 Date d'inscription mercredi 12 octobre 2005 Statut Membre Dernière intervention 13 juillet 2008
28 févr. 2006 à 13:28
Bon vous avez pas compris

"Cette fonction m'a beaucoup servi dans la réécriture dynamique des URL."
Cas réel : un site web entier, je dois y implanter URL Rewriting.
Dans le site, les URL sont créées sous cette forme
fiche.php?type_doc=son&page=participer&id_info=2&popup=1#ancre
Je dois les transformer en
fiche/son.participer.le-titre-du-document.2.1.php

C'est à partir d'une chaine qu'on récupère les paramètres, et pas de l'URL que le client appelle...
Je ne sais pas comment mieux m'exprimer...

Pour la complexité, y a 2 cas, un avec le choix des paramètres, l'autre non, et y a la gestion de l'ancre aussi.

Essayez de copmrendre exactement à quoi sert le script avant de me prendre pour un idiot, je sais que $_GET[] existe !

En esperant avoir été compris.
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
28 févr. 2006 à 12:41
ah ui j'avais pas noté que ca venait d'une fonction :$ Mais ouais désolé pour le créateur mais ce script mangerait des ressources pour rien ^^
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 févr. 2006 à 12:12
Oui, sauf dans le cadre d'une url passée à la fonction. Pas l'url courante, quoi.
Parce que si on s'en tient à l'url courante, en effet, ce code est encore plus inutile.
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
28 févr. 2006 à 12:07
Mais $_GET à la base c'est un tableau donc tu peux tout recuperer avec foreach nan ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 févr. 2006 à 09:56
D'autant plus qu'il y a beaucoup plus simple. UN exemple sans expression régulière parce que j'avais la flemme :
<?php
$url = 'fiche.php?type_doc=son&page=participer&id_info=2&popup=1#ancre';
$aUrl = parse_url ($url);
$aTab = explode ('&', $aUrl['query']);
$aUrl['query'] = array ();
foreach ($aTab as $clef => $val) {
$aTmp = explode ('=', $val);
echo $aTmp[0], '
';
$aUrl['query'][$clef]['variable'] = $aTmp[0];
$aUrl['query'][$clef]['valeur'] = $aTmp[1];
}
echo '', print_r ($aUrl), '

';
?>
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
28 févr. 2006 à 08:59
Heuuuu t'as pas l'air au courant mais $_GET['mavariableURL'] ca marche bien aussi, et c'est plus court à écrire ;-)

Pour reprendre ton exemple :
$url="fiche.php?type_doc=son&page=participer&id_info=2&popup=1";
echo $_GET['type_doc']; //affiche 'son'
echo $_GET['id_info']; //affiche '2'

Enjoy :))
Rejoignez-nous