IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de récupération de valeurs avec Array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Par défaut Problème de récupération de valeurs avec Array
    Bonjour à tous,

    J'ai un petit problème de tableau, je pense simple mais je séche.
    Je cherche a faire passer via un formulaire un Array pour le traiter avec d'autres infos:
    Dans le var_dump les données sont bien passé, mais je n'arrive pas a récupérer les valeurs des clés un,deux, ... avec un echo ou un print ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?php
    $a = array("un"=>1111,"deux"=>22222222,"trois"=>333333);
     
    if (isset($_POST["valider"])) {
     
    	$a=$_POST['cacher'];
     
    	var_dump($a);   // afficher tous les éléments du tableau ( cool )
     
    	echo $a['un'] ;  // affiche A ( première lettre de Array ) :cry:
    }
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    </head>
    <body>
    <form id="form" method="POST" action="">
    	texte : <input type="text" name="text"/><br/>
        <input type="submit" value="valider" name="valider"/>
        <input type="hidden" value="<?php print_r($a) ?>" name="cacher" />
    </form>
    </body>
    </html>

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour,

    si tu regardes plus précisément le résultat de ton var_dump. Tu vois string(78) "Array ( [un] => 1111 [deux] => 22222222 [trois] => 333333 )

    Ton résultat est un string et non un tableau.

    Pour envoyer un tableau, tu peux le sérialiser

  3. #3
    Membre éclairé Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Par défaut
    Merci Bebel pour ton aide,

    Dans le formulaire il faut mettre le serialize comme cela ?

    <input type="hidden" value="<?php serialize($a) ?>" name="cacher" />

    et dans la récupération des valeurs :

    echo unserialize ( $a['un'] ) ;

    cela ne marche pas, je pense que la syntaxe n'est pas correcte ou au bonne endroit.

  4. #4
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    la fonction serialize renvoie une chaine, donc tu dois faire un echo devant ton serialize

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="hidden" value='<?php echo serialize($a) ?>' name="cacher" />
    la fonction serialize utilise des "

    et pour la récupération

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $a =unserialize($_POST['cacher']);
    echo $a['un'];

  5. #5
    Membre éclairé Avatar de l.laurent60
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    276
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 276
    Par défaut problème résolu
    Bebel,
    Je te remercie de m'avoir accordé un peu de temps et d'avoir résolu mon bug.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de récupération des valeurs avec ConfigurationManager
    Par titounnette dans le forum Windows Forms
    Réponses: 11
    Dernier message: 25/06/2009, 14h33
  2. Problème de récupération de valeurs
    Par T'chab dans le forum Access
    Réponses: 3
    Dernier message: 24/04/2006, 10h37
  3. Problème de récupération de valeur de radio button...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/03/2006, 14h19
  4. Nouveau problème de récupération de valeurs.
    Par pmboutteau dans le forum ASP
    Réponses: 4
    Dernier message: 09/03/2005, 10h48
  5. Réponses: 8
    Dernier message: 09/03/2005, 10h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo