begin process at 2010 02 10 04:02:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > RECUPERER LES VARIABLES UTILISATEUR

RECUPERER LES VARIABLES UTILISATEUR


 Information sur la source

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :variables Niveau :Débutant Date de création :05/01/2005 Date de mise à jour :14/03/2006 20:06:14 Vu :5 027

Auteur : piedpierre

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

récupère les variables utilisateurs initialisées à l'exclusion des globales et
des super-globales, les tableaux et variables sont directement exploitable en php

Source

  • <?php
  • $b=get_defined_vars();$tab=array();
  • $a=array_flip(array('_SESSION','HTTP_SESSION_VARS','_REQUEST',
  • '_FILES','HTTP_POST_FILES','_ENV','HTTP_ENV_VARS',
  • '_SERVER','HTTP_SERVER_VARS','_COOKIE',
  • 'HTTP_COOKIE_VARS','_GET','HTTP_GET_VARS',
  • '_POST','HTTP_POST_VARS','GLOBALS')
  • );echo'<pre>';
  • foreach($b as $k=>$v){
  • if(!array_key_exists($k,$a)){$i=var_export($b[$k],1);
  • /*Corecction d'un bug d'affichage de virgule en fin de tableau (marche jusqu'à tableau à 4 niveau de tableau imbriqués
  • mais peu fausser les valeurs si elles contiennent des sauts de ligne suivi de parenthèse
  • Dans ce cas utiliser plutôt $i=htmlspecialchars($i); il y aura les virgules mais les valeurs seront ok.*/
  • $i=htmlspecialchars(str_replace(array(",\n )",",\n )",",\n )",",\n)"),array("\n )","\n )","\n )","\n)"),$i));
  • if(is_array($v)){echo '$',$k,'=',$i,';<br />';}/* affiche les tableaux */
  • else{$tab[$k]=$i;}/* stocke les variables*/
  • }
  • }
  • foreach($tab as $k=>$v){echo '$'.$k.' = '.$v.';<br />';}/* affiche les variables */
  • echo'</pre>';
  • //********************************************************************************************************
  • // Variante en fonction
  • function vars(){$tab=array();$b=$GLOBALS;
  • $a=array_flip(array('_SESSION','HTTP_SESSION_VARS','_REQUEST',
  • '_FILES','HTTP_POST_FILES','_ENV','HTTP_ENV_VARS',
  • '_SERVER','HTTP_SERVER_VARS','_COOKIE',
  • 'HTTP_COOKIE_VARS','_GET','HTTP_GET_VARS',
  • '_POST','HTTP_POST_VARS','GLOBALS')
  • );echo'<pre>';
  • foreach($b as $k=>$v){
  • if(!array_key_exists($k,$a)){$i=var_export($b[$k],1);
  • /*Corecction d'un bug d'affichage de virgule en fin de tableau (marche jusqu'à tableau à 4 niveau de tableau imbriqués
  • mais peu fausser les valeurs si elles contiennent des sauts de ligne suivi de parenthèse
  • Dans ce cas utiliser plutôt $i=htmlspecialchars($i); il y aura les virgules mais les valeurs seront ok.*/
  • $i=htmlspecialchars(str_replace(array(",\n )",",\n )",",\n )",",\n)"),array("\n )","\n )","\n )","\n)"),$i));
  • if(is_array($v)){echo '$',$k,'=',$i,';<br />';}/* affiche les tableaux */
  • else{$tab[$k]=$i;}/* stocke les variables*/
  • }
  • }
  • foreach($tab as $k=>$v){echo '$'.$k.' = '.$v.';<br />';}/* affiche les variables */
  • echo'</pre>';
  • }
  • vars();
  • ?>
<?php
 $b=get_defined_vars();$tab=array();
 $a=array_flip(array('_SESSION','HTTP_SESSION_VARS','_REQUEST',
 '_FILES','HTTP_POST_FILES','_ENV','HTTP_ENV_VARS',
 '_SERVER','HTTP_SERVER_VARS','_COOKIE',
 'HTTP_COOKIE_VARS','_GET','HTTP_GET_VARS',
 '_POST','HTTP_POST_VARS','GLOBALS')
 );echo'<pre>';
 foreach($b as $k=>$v){
     if(!array_key_exists($k,$a)){$i=var_export($b[$k],1);     
/*Corecction d'un bug d'affichage de virgule en fin de tableau (marche jusqu'à tableau à 4 niveau de tableau imbriqués
mais peu fausser les valeurs si elles contiennent des sauts de ligne suivi de parenthèse
Dans ce cas utiliser plutôt $i=htmlspecialchars($i); il y aura les virgules mais les valeurs seront ok.*/
$i=htmlspecialchars(str_replace(array(",\n      )",",\n    )",",\n  )",",\n)"),array("\n      )","\n    )","\n  )","\n)"),$i));
		 if(is_array($v)){echo '$',$k,'=',$i,';<br />';}/* affiche les tableaux */
         else{$tab[$k]=$i;}/* stocke les variables*/
     }
 }
foreach($tab as $k=>$v){echo '$'.$k.' = '.$v.';<br />';}/* affiche les variables */
echo'</pre>';
//********************************************************************************************************
// Variante en fonction
function vars(){$tab=array();$b=$GLOBALS;
 $a=array_flip(array('_SESSION','HTTP_SESSION_VARS','_REQUEST',
 '_FILES','HTTP_POST_FILES','_ENV','HTTP_ENV_VARS',
 '_SERVER','HTTP_SERVER_VARS','_COOKIE',
 'HTTP_COOKIE_VARS','_GET','HTTP_GET_VARS',
 '_POST','HTTP_POST_VARS','GLOBALS')
 );echo'<pre>';
 foreach($b as $k=>$v){
     if(!array_key_exists($k,$a)){$i=var_export($b[$k],1);     
/*Corecction d'un bug d'affichage de virgule en fin de tableau (marche jusqu'à tableau à 4 niveau de tableau imbriqués
mais peu fausser les valeurs si elles contiennent des sauts de ligne suivi de parenthèse
Dans ce cas utiliser plutôt $i=htmlspecialchars($i); il y aura les virgules mais les valeurs seront ok.*/
$i=htmlspecialchars(str_replace(array(",\n      )",",\n    )",",\n  )",",\n)"),array("\n      )","\n    )","\n  )","\n)"),$i));
		 if(is_array($v)){echo '$',$k,'=',$i,';<br />';}/* affiche les tableaux */
         else{$tab[$k]=$i;}/* stocke les variables*/
     }
 }
foreach($tab as $k=>$v){echo '$'.$k.' = '.$v.';<br />';}/* affiche les variables */
echo'</pre>';
}
vars();
?>

 Conclusion

get_defined_vars() retourne un tableau de toutes les variables définies
sauf les globales pour certaines versions de php,
c'est ensuite filtré par !array_key_exists() pour exclure les super
globales...testé sur PHP>= 4.3


 Historique

06 janvier 2005 01:14:14 :
14 mars 2006 19:42:21 :
mise à jour suite à évolution de php et aux commentaires, les variables obtenues sont directement exploitable en php
14 mars 2006 19:53:14 :
ajout de $tab=array(); si aucune variable foreach ne renvoi pas d'erreur
14 mars 2006 20:06:14 :
Ajout de la fonction vars() qui permet une utilisation simple et transparente..., tapez juste vars() et vous verrez toutes vos variables initialisées.. :)

 Sources du même auteur

COLORISE UNE IMAGE AVEC GD

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

 Sources en rapport avec celle ci

EXTRACTEUR DE VARIABLES DE FORMULAIRES par azqsazqs
FONCTION DE SÉCURITÉ CONTRE LA POLLUTION DES VARIABLES ET LE... par kankrelune

Commentaires et avis

Commentaire de Anthomicro le 06/01/2005 18:10:02

Salut,

<? est à remplacer par <?php et <br> par <br />

a +

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Cookies, mettre et relire DES Variables [ par codefalse ] Hello allcomment je pourrai faire pour mettre deux variables dans un cookie ( pseuod et pass ) et les relire dans le bon ordre ( mettre dans la variab problème de comparaison de variables string [ par julp ] je cherche comment savoir si deux variables (en fait ce sont des chaînes) sont égales. Pour l'instant j'ai essayé ceci :if (!($a==$b)):instruc;endif;m tiscali et envoie de variables [ par lefab2 ] 'lutj'ai un pb chez tiscali :si j'appeles ma page de cette facon :adresse_de_ma_page/page.php?mavariable=vraiet que le code de ma page soit &lt;?echo Concaténation de nom de variables ! [ par fil ] Concaténation de nom de variables !bonjour j'ai un petit problème je voudrais creer des noms de variable dynamiquement dans une boucle :J'ai des varia text to variable [ par Freneticode ] ---&gt; FrenetiCodehello a tous ..voila je suis en train de cree une function qui me permet de liste toute les variables systeme...et les autres!!!voi oracle!!!!!!! et ses binds variables..... [ par booth ] juste une petite question...j'essaie d'utiliser les bind variables d'oracle pour tuner un peu, mais pour le select ke je tente de faire, ya rien ki pa Oracle!!!!!!!!et ses bind variables [ par booth ] juste une petite question...j'essaie d'utiliser les bind variables d'oracle pour tuner un peu, mais pour le select ke je tente de faire, ya rien ki pa des salsh dans les variables issues de formulaire -> grrrrr [ par skrol29 ] Bonjour,Je viens de m'aperçevoir que PHP (ou bien le protocole HTTP) ajoute des slashes (/) devant certains caractères commes le guillement simple (') pb de variables [ par lebobby ] Bonjourje voudrais savoir comment faire pour relire des variables stockes dans une bd mysql qui sont stockees sous le forme :bateau_1_rougebateau_2_ro passer des variables d'un pop-up a la page parent [ par carpathesknight ] Salut,g un petit prob;Je souhaite faire passer des variables d'un pop-up a la page qui l'a appelé.Je l'ai fais en javascript voici le code de la fonct


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 3,775 sec (4)

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