Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECUPERER LES VARIABLES UTILISATEUR


Information sur la source

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 : 4 670

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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.. :)

Commentaires et avis

signaler à un administrateur
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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.