begin process at 2010 08 01 01:15:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > EMULATION DE $_GET() DU PHP

EMULATION DE $_GET() DU PHP


 Information sur la source

Note :
Aucune note
Catégorie :Navigation Classé sous :passage paramètre, passage variable, sous-chaîne url, paramètre HTML Niveau :Débutant Date de création :08/12/2009 Date de mise à jour :09/12/2009 22:08:17 Vu / téléchargé :1 905 / 70

Auteur : jchan

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

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://ww w.singularite.info
Exemple d'appel de la fonction:
$_GET("url") qui retournera la valeur correspondante

Source

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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

08 décembre 2009 14:09:03 :
Prise en compte du cas de figure où une variable non initialisée n'est pas suivi de l'opérateur d'assignation = ex pour la variable url: getparam.html?&nom=logos&url Avec la modif la fonction retourne une chaîne vide au lieu "undefined". Normalement cette fonction n'est plus à modifier.
08 décembre 2009 14:36:32 :
Erreur de saisie.
09 décembre 2009 22:08:18 :
Dans le cas rare où plusieurs nom de variables sont identiques c'est la dernière occurrence qui compte.J'ai enlevé le "break;" qui était dans la boucle de recherche.

 Sources du même auteur

Source avec Zip Source avec une capture GESTION SIMPLIFIÉE D'UNE TABLE CLIENTE EN XML

 Sources de la même categorie

Source avec Zip Source avec une capture NAVIGATION PAR AJAX, CHARGEMENT DES PAGES SANS RECHARGEMENT par zulrigh
Source avec Zip Source avec une capture MENU DE GAUCHE WIN XP par micking
Source avec Zip ARBORECENCE XP DRAG-ON-DROP par micking
Source avec Zip MARQUEE VERSION2 COMPATIBLE MOOTOOLS, JQUERY, PROTOTYPE ET S... par Kimjoa
Source avec Zip ACCESSIBARRE - AMÉLIORER LE CONFORT DES PERSONNES NON-VOYANT... par Pfuch

Commentaires et avis

Commentaire de raidersteam le 09/12/2009 12:43:30

avec cette source sa se fais tu des lien du jar site.com/page.html?=index et sa donne sur un page et site.com/page.html?=service donne sur une autre page?

Commentaire de jchan le 09/12/2009 21:50:42

Ce code n'interagit pas entre 2 pages html si c'est bien là le
sens de la question mais seulement sur les arguments d'un fichier html.

Commentaire de lymanss le 10/12/2009 20:55:28

Salut,

ta fonction est intéressante mais pourquoi utiliser ?&ma_var pour la première variable passée dans l'url ?  c'est plutot sous cette forme la ?ma_var quand on passe des parametres dans une url.

y a til une raison qui m'échappe?

Commentaire de jchan le 11/12/2009 07:52:09

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.

Commentaire de zeeek le 28/12/2009 13:20:30

ton script peux se résumer en une ligne

Commentaire de jchan le 29/12/2009 20:53:17

On peut faire toujours mieux.En une ligne ça doit être de l'expression régulière mais le script tel quel me satisfait.

Commentaire de helmi0031 le 09/01/2010 11:47:42

<a href="http://wwe-tour.blogspot.com/">WWE</a>

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Août 2010
LMMJVSD
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Consulter la suite du CalendriCode

 
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 : 0,577 sec (3)

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