Acces aux valeurs du tableau d'un champ texte caché

hades5 Messages postés 25 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 5 juin 2007 - 3 juin 2007 à 12:27
hades5 Messages postés 25 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 5 juin 2007 - 5 juin 2007 à 13:15
Bonjour,
Je veux transmettre d'une page à une autre un tableau d'un champ de texte caché. Mieux vaut un exemple pour mieux illustrer mon problème.
# fichier c.php
$table = array( "champ1", "champ2", "champ3" ) ;
$c = serialize($table ) ;

echo "Tansmettre un tableau";
echo '  <form method="GET" action="d.php">' ;
echo " " ;
echo " " ;
echo '  </form>' ;

# fichier d.php
echo var_dump( ($_GET['toto'] )) ;  => donne // array(1) {
[0]=>
string(63) "a:3:{i:0;s:6:"champ1";i:1;s:6:"champ2";i:2;s:6:"champ3";}"
}
echo var_dump( unserialize( stripslashes($_GET['toto'])) ) ;  => ne donne // bool(false)

echo var_dump( $_GET['c']  ) ;  => donne // string(63) "a:3:{i:0;s:6:"champ1";i:1;s:6:"champ2";i:2;s:6:"champ3";}"
echo var_dump(unserialize(stripslashes($_GET['c'] ) ) )  ; => donne // array(3) {
[0]=>
string(6) "champ1"
[1]=>
string(6) "champ2"
[2]=>
string(6) "champ3"
}

ce dernier résultat je sais comment l'exploiter,
J'aimerai donc pouvoir avoir la même chose en passant par un champ de texte caché contenant un tableau.
Est-ce que quelqu'un pourra m'aider... je vous remercie d'avance.

1 réponse

hades5 Messages postés 25 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 5 juin 2007
5 juin 2007 à 13:15
J'ai trouvé le problème. Au fait quand je mets  le tableau $table sérialisé ( voir $c ) dans un champ de texte caché,
je crée automatiquement un tableau de tableau avec une seule indice, résultat visible avec array(1) du echo var_dump( $_GET['toto'] ).
Donc pour récupérer le tableau il faut faire ainsi :
$nouveauTableau = $_GET['toto'][ 0 ] ;
d'où echo var_dump( unserialize( stripslashes($_GET['toto'][0])) ) ; // remarquez le [ 0 ] après $_GET['toto']
ce qui donne exactement le même résultat que echo var_dump(unserialize(stripslashes($_GET['c'] ) ) )  ;

Merci à ceux qui ont au moins lu mon message.

Hadès
0