begin process at 2012 02 05 22:33:56
  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é :3 082 / 84

Auteur : jchan

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (8)
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 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

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>

Commentaire de gibrit38 le 22/11/2011 23:16:45

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 ?  


 Ajouter un commentaire




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

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