OVH Community, votre nouvel espace communautaire.

Variable POST tranformée en Array


oInOt
06/10/2006, 20h35
Bon ben voila, pour ceux que ça intéresse, j'ai trouvé une petite fonction récursive qui me nettoye tout ça:

Code PHP:
function transcribe($aList$aIsTopLevel true) {
   
$gpcList = array();
   
$isMagic get_magic_quotes_gpc();
   
   foreach (
$aList as $key => $value) {
       if (
is_array($value)) {
           
$decodedKey = ($isMagic && !$aIsTopLevel)?stripslashes($key):$key;
           
$decodedValue transcribe($valuefalse);
       } else {
           
$decodedKey stripslashes($key);
           
$decodedValue = ($isMagic)?stripslashes($value):$value;
       }
       
$gpcList[$decodedKey] = $decodedValue;
   }
   return 
$gpcList;

Il n'y alors plus qu'a appeller la fonction:

Code PHP:
$_POST transcribe($_POST); 

oInOt
06/10/2006, 20h28
c'était bien ça le problème, comme le magic_quotes est à on j'ai mis une petite fonction pour "n'éttoyer les POST et les GET, mais apparemment elle ne marche pas trop comme il faut.

Code PHP:
function set_magic_quotes_off(){
        if ( @
get_magic_quotes_gpc ( ) == ) {
                
$_POST    array_map 'stripslashes' $_POST );
                
$_GET     array_map 'stripslashes' $_GET );
                
$_COOKIE  array_map 'stripslashes' $_COOKIE );
        }

Quelqu'un aurait-il une solution qui marche?

oInOt
06/10/2006, 18h05
Bonjour,

Je suis tombé sur un problème avec un formulaire, le voici:
Code HTML:
"post" action="xxx.php">
Le but est donc d'avoir une variable $_POST['role'] qui serait un tableau avec toutes les options sélectionnées. Seulement le problème c'est que je n'obtient pas ça mais un variable de type String qui contient 'Array'.

var_dump donne :
Code:
array(11) {
  ["role"]=>
  string(5) "Array"
}
Quelqu'un a-t-il déjà eu ce problème?
Je pense que c'est un bug PHP (http://bugs.php.net/bug.php?id=37276&edit=1) mais je ne suis pas sur.

Si quelqu'un a une solution, elle est la bienvenue.

Antoine

P.S. J'ai trouvé ceci http://bugs.php.net/bug.php?id=34594 qui correspond à mon problème, je vais checker mon code pour voire ou est le problème.

Ce qui est bizarre c'est que j'ai déjà eu ce problème avec phpMyAdmin aussi, et ça m'étonnerais qu'il aient ce genre de problèmes ...