Récuperer les variables $_get

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 272 fois - Téléchargée 17 fois

Contenu du snippet

Permet aux amateur de PHP d'utiliser $_GET et la fonction isset() pour tester et récupérer les variables passées par un formulaire, en JavaScript.

Utilise les fonction d'URI de JavaScript.

Court mais peut être utile.

Source / Exemple :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>

	<title>Formulaire et données GET</title>
	
</head>

<body>
	
	<form name="test" method="get" action="">
		<input type="text" name="param1" value="" />
		<input type="text" name="param2" value="" />
		<input type="submit" />
	</form>
	
	<script type="text/javascript">
	
		// FONCTIONS
	
		function getURLParams()
		{
			var url = document.location.href.split("?");
			
			if(url.length > 1)
			{
				// Params found un URL !
				var get = new Object;
				var params = url[1].split("&");

				for(var i in params)
				{
					var tmp = params[i].split("=");
					get[tmp[0]] = unescape(tmp[1].replace("+", " "));
				}
				
				// Return Object (data are accessible in array too) : get["paramname"] = get.paramname
				return get;
			}
			
			// No params found in URL !
			return false;
		}
		
		function isset(data)
		{
			if(typeof(data) == "undefined")
				return false;
			
			return true;
		}
		
		// CODE DE TEST
		
		$_GET = getURLParams();
		
		if(isset($_GET.param1))
			document.write($_GET.param1 + "<br />");
			
		if(isset($_GET.param2))
			document.write($_GET.param2 + "<br />");
		
	</script>
</body>
</html>

A voir également

Ajouter un commentaire Commentaires
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
17 janv. 2011 à 10:59
Salut,
Je n'ai pas testé ton code mais ta boucle for me paraît compliquée: pourquoi ne pas parcourir le tablea $_GET comme un tableau associatif ? Ce serait bien plus simple, non?
Sinon j'aime bien l'idée de transposer les valeurs $_GET en JS. Faudrait considérer l'aspect sécuritaire de ta démarche...
testabc Messages postés 33 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 23 juillet 2014
17 janv. 2011 à 14:42
c'est pratique quand tu connais l'ordre d'arrivée des arguments mais j'ai mieux !
et c'est en jquery...

A rajouter dans le $(document).ready(function()

$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});

comme ça on peut utiliser soit $.getUrlVars() qui nous renvoi tout sous forme de tableau
ou bien utiliser $.getUrlVar('leNomDeMaVariable') qui renvoi juste la valeur de la variable
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
17 janv. 2011 à 15:48
Oui le résultat est le même, mais on utilise l'API JQuery... maintenant est-ce un meilleur rendement? Je n'en suis pas sûr vu qu'il faut avoir installé cette API :-)
Mais pour la forme le code est propre. Ne faudrait-il pas le mettre dans les snippets?
@karamel Messages postés 1823 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 20 mars 2023 145
18 janv. 2011 à 15:27
"et c'est en jquery"

je ne comprend pas pourquoi un tel commentaire on est sur www.javascriptfr.com et pas sur www.jqueryfr.com
testabc Messages postés 33 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 23 juillet 2014
18 janv. 2011 à 16:44
ah et jquery c'est quoi peut etre ? du php ??
la prochaine fois, prends le temps, réfléchis et ne soit pas si impulsif...

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.