PHP - passage d'un tableau à deux dimensions

Résolu
Bonjour,

Je souhaiterai passer un tableau à deux dimensions entre trois pages PHP, j'ai essayé de le passer par POST et par SESSION mais je n'y arrive pas. Mon tableau ressemble à ceci:

$tab_article = array("numero"=>1, "texte"=>$text);

J'arrive bien à le créer mais pas à le garder de manière convenable entre les pages.
Si quelqun à une idée...

Merci d'avance.
Configuration: Linux Debian
Mozilla 1.8.1.4

6 réponses

  1. Le pb avec serialise c'est que tu vas perdre les cles.

    Je t'ai fait un petit script essaye, il fonctionne chez moi:

    <html>
    <body>
    <form method="post" action="passage_tableau.php">
    <?php
    // tabeau origine
    $tableau=array("a"=>"toto","b"=>"tata","c"=>"titi");
    echo "Tableau a passer:<br>";
    print_r($tableau);
    foreach($tableau as $cle=>$valeur){
    ?>
    <input type="hidden" name="<?php echo "tableau_".$cle ?>" value="<?php echo $valeur; ?>" >
    <?php
    }
    ?>
    <br><br>
    <input type="submit" name="Envoi" value=" Envoyer">
    </form>
    <?php
    if(isset($_POST['Envoi'])){
    foreach($_POST as $key=>$value){
    if(substr($key,0,7)=="tableau"){
    $indice=substr($key,8);
    $tableau_recu[$indice]=$value;
    }
    }
    echo "<br> tableau reçu:<br>";
    print_r($tableau_recu);
    }
    ?>
    </body>
    </html>
    1. Essaye dans des champs cachés:

      foreach ($tab_article as $cle=>$value){
      <input type="hidden" name=" tab_article[]" value="<?php echo $tab_article[$cle]; ?>" >

      }

      et tu récupéres par l'array $_POST en testant le debut du nom.

      Je n'ai pas fait l'essai
      1. Bonjour, ça doit être faisable avec :
        serialize/unserialize

        string serialize ( mixed $value )
        pour transformer le tableau en chaine

        mixed unserialize ( string $str )
        pour transformer la chaine en tableau
        1. Merci bien à vous deux je vais essayer tout de suite!
          1. Encore merci à toi,
            c'est très sympa de ta part, je l'ai intégré et il correspond à mes attentes.
            Cordialement,
            Bonne journée
            1. Ce fut avec plaisir, le PHP est ma drogue.

              Pour adapter substr($key,0,7)=="tableau") à ton cas va voir la fonction subtr sur php.net