begin process at 2012 02 09 20:15:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

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

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


 Information sur la source

Note :
Aucune note
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 :11 715

Auteur : pifou25

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
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 '';

 Sources du même auteur

TRANSFORMER UN FLUX XML EN UNE TABLE HTML VIA JAVASCRIPT
TRANSFORMER UN TABLEAU JAVASCRIPT EN UN TABLEAU HTML

 Sources de la même categorie

Source avec Zip Source avec une capture ANTI-ROBOTS V 1.0 par MacGaliver
Source avec une capture PRÉSENTOIR PAGE/SUJET par tiranus
Source avec Zip Source avec une capture NAVIGATEUR INTERNET HAVRET par HAVRETos
Source avec Zip WMANAGER.JS : GÉRER LES FICHIERS WMA AVEC WINDOWS MEDIA PLAY... par jdmcreator
Source avec Zip Source avec une capture NAVIGATION PAR AJAX, CHARGEMENT DES PAGES SANS RECHARGEMENT par zulrigh

 Sources en rapport avec celle ci

GET ALL ELEMENTS OF A PAGE OR UNDER A TAG par astro53
RÉCUPERER LES VARIABLES $_GET par heycraft
SIMULER UN TARGET="_BLANK" VALIDE XHTML STRICT par medium69
Source avec Zip JSCHECKER, VALIDEUR DE FORMULAIRE par codefalse
EXTRAIRE DES VALEURS DE L'URL par nisaloncaje

Commentaires et avis

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.

Commentaire de coucou747 le 03/12/2007 07:00:11 administrateur CS

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...

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 :)

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.

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.

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 ?

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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales