Emulation de $_get() du php

Soyez le premier à donner votre avis sur cette source.

Vue 5 365 fois - Téléchargée 286 fois

Description

Petite fonction qui lit les variables passées en paramètres à un fichier HTML.L'utilisation est similaire à $_GET() du PHP.Si le paramètre indiqué est inexistante le code de retour est -1.
Exemple de passage de paramètres:
getparam.html?&nom=logos&url=http://www.singularite.info
Exemple d'appel de la fonction:
$_GET("url") qui retournera la valeur correspondante

Source / Exemple :


<html>
<head>

<script type="text/javascript" language="javascript">

/*--------------------------------------
 function $_GET(strparam)
 Entrée:. strparam = nom d'une variable
 Sortie:. Valeur de la variable 
        . chaine vide si variable non initialisé
	. -1 si variable inexistante
 ---------------------------------------*/		
function $_GET(strparam)
{
 var requrl = document.location.search;
  
 /* valparam :  Valeur du paramètre recherché
		Par défaut "-1" pour paramètre inexistante

  • /
var valparam = "-1"; /* Début du traitement aprés la zone de requête ? et cas où le séparateur de paramètres & est présent en début.
  • /
if(requrl.substring(0,2) != "?&") requrl2 = requrl.substring(1); else requrl2 = requrl.substring(2); /* Segmentation des paires Variables/Valeur */ var tabparam = requrl2.split("&"); /* recherche du paramètre désiré */ for(i=0;i<tabparam.length;i++) { if( tabparam[i].split("=")[0].toLowerCase() == strparam.toLowerCase()) { /* Extraction de la valeur */ valparam = tabparam[i].split("=")[1]; if(typeof(valparam) == "undefined") valparam = ""; //break; } } return unescape(valparam); } function window_onload() { if(document.location.search) { alert("url -> " + $_GET("URL")); alert("nom -> " + $_GET("nom")); alert("citation -> " + $_GET("ciTation")); if($_GET("url2")== "-1") alert("url2 -> Variable inexistante"); } else document.location.href += "?&nom=logos&url=http://www.singularite.info&citation=ainsi va ce monde"; } </script> </head> <body onload="window_onload()"> </body> </html>

Conclusion :


Le reste du code est pour la démo.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 20 juillet 2010
Statut
Membre
Dernière intervention
22 novembre 2011

Bonjour,
J'ai une problématique un peu similaire. peut-etre pourriez-vous m'aider à décoincer?

J'ai dans une page dont l'adresse est index.php?x=1 une liste de choix et un ensemble d'informations extraites de ma base de donnée sur le seul paramètre x=1.
Je cherche à affiner ma recherche sur la base d'un second critère contenu dans cette page dans une liste de choix.
Au clic direct sur un des éléments de cette liste de choix, je veux relancer la même page
mais cette fois avec l'url : index.php?x=1&i=valeurChoisie

J'ai créé une fonction en javascript (là, c'est la misère, je n'y connais rien du tout)
qui est sensée récupérer l'url de la page en cours avec son^paramètre GET (j'espère).
La fonction doit y rajouter un autre GET en fonction de l'élément de la liste de choix sélectionné.

Ca donne ce qui suit :

function Lien() {
adres = window.location;
i = document.selectIntervenant.selectedIndex;
url = document.selectIntervenant.option.value;
parent.location.href = adres + url;
getElementById
}

et dans la page :

<select name="selectIntervenant" id="selectIntervenant" onChange="Lien();>
<option value="choisir" selected>Intervenants</option>
<option value="&c=Bernard">Bernard</option>
<option value="&c=Marguerite">Marguerite</option>
<option value="&c=tous">Tous</option>
</select>

Et bien sûr, ça ne marche pas !

Est-ce que ça peut s'arranger ?
Messages postés
1
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
9 janvier 2010

WWE
Messages postés
7
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
13 avril 2009

On peut faire toujours mieux.En une ligne ça doit être de l'expression régulière mais le script tel quel me satisfait.
Messages postés
2
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
28 décembre 2009

ton script peux se résumer en une ligne
Messages postés
7
Date d'inscription
samedi 14 avril 2007
Statut
Membre
Dernière intervention
13 avril 2009

c'est vrai mais on doit tenir compte de ce cas particuliers.Utiliser ?&ma_var n'est pas faux et sous PHP elle est acceptée.J'ai préféré traité cela en dehors de la boucle.
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.