|
Trouver une ressource
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
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
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
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 <?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 ]
---> 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
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|