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 :

Passage d'un tableau en champ hidden


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut Passage d'un tableau en champ hidden
    Bonjour,

    Je bute et ne trouve pas la solution à mon problème.

    J'ai un tableau crée comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tab_rapport[$_POST['ref_referentiel']]=array( "notes"=>$_POST['rapport']);
    Dans un formulaire pour ne pas perdre le contenu du tableau, je le passe en champ hidden
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($tab_rapport as $key=>$value){
        echo "<input type='hidden' name='tabrapport[$key][notes]' value='$tab_rapport[$key][notes]'>";
    }
    La syntaxe est fausse et j'obtiens une alarme Illegal offset type .

    Or tout fonctionne bien lorsque je ne passe qu'une seule valeur comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    foreach ($tab_rapport as $key){
        echo "<input type='hidden' name='tabrapport[$key]' value='$key'>";

    Mon problème :

    Quelle est la syntaxe pour passer dans un (ou plusieurs) champs hidden la totalité d'un tableau comportant plusieurs champs ?

    Merci par avance.

  2. #2
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    tu as oublié les quotes pour l'indice notes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($tab_rapport as $key=>$value){
        echo "<input type='hidden' name='tabrapport[$key]["notes"]' value='$tab_rapport[$key]["notes"]'>";
    }
    après je ne sais pas si il faut les échapper ou pas, mais essayes comme ca d'abord...

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par vorace Voir le message
    tu as oublié les quotes pour l'indice notes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($tab_rapport as $key=>$value){
        echo "<input type='hidden' name='tabrapport[$key]["notes"]' value='$tab_rapport[$key]["notes"]'>";
    }
    après je ne sais pas si il faut les échapper ou pas, mais essayes comme ca d'abord...
    pas besoin de quote coté HTML

  4. #4
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    pas besoin de quote coté HTML
    peut être pour le champs 'name' de l'input mais pour récupérer la valeur à affecter à l'attribut 'value' faut bien des quotes...

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par vorace Voir le message
    peut être pour le champs 'name' de l'input mais pour récupérer la valeur à affecter à l'attribut 'value' faut bien des quotes...
    non


    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
    <?php
    echo '<pre>', print_r($_GET, true), '</pre>'; 
    ?>
    <form action="" method="get">
        <input type="hidden" name="tabrapport[5][notes]" value="test" />
        <input type="hidden" name='tabrapport[5]["notes"]' value="test quote" />
        <button type="submit">test !!!</button>
    </form>
    <!--
    Array
    (
        [tabrapport] => Array
            (
                [5] => Array
                    (
                        [notes] => test
                        ["notes"] => test quote
                    )
     
            )
     
    )
    -->

  6. #6
    Membre confirmé Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Par défaut Solution du problème
    Comme je m'en doutais la solution était simple.

    En fait la syntaxe est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
        foreach ($tab_rapport as $key=>$value){
            echo "<input type='hidden' name='tabrapport[$key][notes]'
            value='{$tab_rapport[$key][notes]}'>";
        }
    Il manquait dans value le signe { en début et } en fin car la valeur est lui même un tableau.


    Merci à tous.


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

Discussions similaires

  1. passage de variable dans un champ hidden
    Par dgkourou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/02/2013, 11h40
  2. Passage de paramètres dans champ hidden
    Par benassis dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/05/2005, 01h22
  3. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50
  4. Passage d'un tableau par référence?
    Par sebduth dans le forum C
    Réponses: 9
    Dernier message: 16/07/2003, 18h32
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15

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