Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ANALYSER & RÉCUPÉRER LES VARIABLES DE L'URL


Information sur la source

Catégorie :Navigation Classé sous : URL, analyse, variable, chaine, get Niveau : Débutant Date de création : 02/12/2007 Date de mise à jour : 11/12/2007 16:23:27 Vu : 7 007

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

Comme d'autres l'ont déjà fait, il faut analyser la chaine de l'URL pour les mettre dans un tableau afin de pouvoir ensuite utiliser les variables.
Contrairement à ce que d'autres ont fait, j'utilise un tableau associatif.
dans une url du type index.php?pseudo=pifou&id=25
le résultat sera un tableau GET['pseudo']='pifou' et GET['id']=25
j'appelle le tableau GET par analogie avec le $_GET en PHP uniquement.
 

Source

  • <script language="JavaScript" type="text/javascript">
  • <!-- // récupérer TOUS les paramètres de l'URL
  • var tmp = window.location.search.substring(1).split("&");
  • var GET = [];
  • for (var i in tmp)
  • if (tmp[i].indexOf("=")!=-1)
  • GET[decodeURI(tmp[i].substring(0, tmp[i].indexOf("=")))] = decodeURI(tmp[i].substring(tmp[i].indexOf("=")+1));
  • else
  • GET[decodeURI(tmp[i])]='';
  • // -->
  • </script>
<script language="JavaScript" type="text/javascript">
<!--	 // récupérer TOUS les paramètres de l'URL
var tmp = window.location.search.substring(1).split("&");
var GET = [];
for (var i in tmp) 
	if (tmp[i].indexOf("=")!=-1)
		GET[decodeURI(tmp[i].substring(0, tmp[i].indexOf("=")))] = decodeURI(tmp[i].substring(tmp[i].indexOf("=")+1));
	else
		GET[decodeURI(tmp[i])]='';

// -->
</script>

Conclusion

quelque explication:
substring(1) pour ôter le 1er caractère '?' de l'URL
split pour convertir en tableau chaque couple nom=valeur
une boucle sur ce tableau pour séparer chaque couple en GET['nom']=valeur

attention donc: pas de & ni = dans l'URL il faut les encoder / décoder.
 

Historique

11 décembre 2007 16:23:28 :
ajouter decodeURl dans le nom de variable et la valeur vérifier l'existence de = pour autoriser les variables vide. celles-ci sont initialisées à chaine vide '';

Commentaires et avis

signaler à un administrateur
Commentaire de Arto_8000 le 02/12/2007 23:14:35

Sans prétentions ça ressemble plus qu'étrangement à un bout de code que j'avais déjà codé et posté sur des sources qui portent sur ce sujet sur ce site ... en fait c'est exactement là même chose écrit d'une façon différente.

Mon code :
a = unescape(window.location.search.substr(1)).split("&");
$_GET = new Array();
for (i=0;i<a.length;i++){$_GET[a[i].substring(0,a[i].indexOf("="))] = a[i].substr(a[i].indexOf("=")+1);}

La preuve :
http://www.javascriptfr.com/codes/EXTRAIRE-VALEURS-URL_36384.aspx

Tu ne l'as surement pas fait exprès, mais ça montre que ce genre de script est davantage un snippet qu'une source.

signaler à un administrateur
Commentaire de coucou747 le 03/12/2007 07:00:11

en meme temps, on a tous lu ce genre de truc quelquepart, et tous ecrit ce genre de truc a plus ou moins les commentaires et les noms de variables pres... donc des similitudes c'est normal...

signaler à un administrateur
Commentaire de pifou25 le 05/12/2007 09:43:54

Arto, j'ai cherché 3 min avant de poster et je crois que j'avais remarqué celui que tu m'indique, mais franchement j'étais pas allé jusqu'à lire les commentaires... je trouvais le mien mieux que celui existant (tu en conviendra) donc j'ai posté.
ton code a en + l'avantage d'utiliser unescape
par contre je pensais pas qu'on pouvait avoir un nom de variable qui commence par $ en js(?)
Tu peux le (re)poster dans les snippets je trouve que ça le mérite c'est toujours utile :)

signaler à un administrateur
Commentaire de Arto_8000 le 05/12/2007 22:04:29

On peut comme on peut ne pas mettre de ";" à la fin de chaque ligne de code. C'est pas recommandé et pas vraiment standard. C'est davantage pour imiter le PHP que je l'avais fait ainsi.

Tu peux le poster si tu veux dans les snippets, j'ai plusieurs trucs sur lequel je travailles de ce temps ci et je risque d'oublier.

signaler à un administrateur
Commentaire de pifou25 le 06/12/2007 10:54:50

déjà fait...
http://www.codyx.org/snippet_manipuler-parametres-passes-dans-url_93.aspx

c'est casse pied cette rubrique snippet, quand tu cherche un code JS dans le site JS il est dans snippet et je pense jamais à chercher.

signaler à un administrateur
Commentaire de Palleas_44 le 10/12/2007 15:19:34

Simple question, si dans mon url j'ai ça : ?toto=salut&titi&plop=youplaboom

Pour la variable titi, ça se passe comment ?

signaler à un administrateur
Commentaire de pifou25 le 11/12/2007 16:25:33

bonne question, ça marchait pas ça renvoyait GET['']='titi'
j'ai modifié le code pour autoriser les variables vide et avoir GET['tit']='' (on aurait pu mettre null ou 0)
tant qu'à faire j'ai ajouté le decodeURl dans la boucle.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

obtenir l'URL d'une frame par une autre [ par SoniqExnihilo ] Voila. j'ai un framse contenant 2 frame. Dans la premiere frame il y as 2 boutons,un Get et un Set, et une zone de text, dans la seconde il y a google variable URL [ par jfg ] Bonjour,comment récupére t-on la valeur d'une variable d'une URLex : http://www.evil-web.fr.st?main=accueil.phpcomment fait-on peut récupérer la valeu Impression d'une variable [ par winboost ] Bonjour tout le monde.Je fais de nouveau appelle à vous aujourd'hui car je souhaiterais envoyer à l'imprimante une variable (appelons la VAR1) crée pa Besoin de recupérer en tant que variable... [ par LauKo ] Bonjour,Voila j'ai grand besoin de recupérer, en tant que variable, le resultat d'un accès a une URL.Bon j'essaye de m'expliquer (eheheh...), j'ai une passer de variable chaine a instruction [ par maxos75 ] Bonjour,C'est tout b&#234;t emai simpossible de me rapeller comment on fait pour par exemple :je re&#231;ois une variable dans une fonction (exemple): popup taille variable [ par brezoneg ] Bonjour,J'ouvre un popup avec :( entre head)&lt;script language="JavaScript"&gt;function OuvrirFenetre(url,nom,details) { window.open(url,nom,details) récupération de la variable d'URL [ par spoutniks ] Bonjour petit probleme voici un script qui fonctionne bien pour r&#233;cup&#233;rer une variable dans un URL, simplement comment faire, pour appeler c Url "modifiable" [ par Rico59 ] Bonjour,Est-il possible d'insérer une variable texte dans une url, et si oui quelle est la syntaxe exacte ?Pour mieux comprendre, j'explique mon probl Passage parametre url [ par stanilou ] Salut,J'ai un petit soucis, utilisant le javascript et le php, je doit pouvoir transmettre une variable javascript dans un scritp php, on m'a dit de p ajouter une variable dans une url [ par novato ] bonjour, Quelqu'un aurait une idée du code à utiliser pour faire que si une page php a une url sans variable, elle se recharge automatiquement avec un


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.