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 :

[PHP-JS] champ hidden tétu


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut [PHP-JS] champ hidden tétu
    Bonjour!

    Alors voilà:
    pour le site d'un label musical, j'ai créé un formulaire pour que lorsqu'on clique sur la photo d'un artiste, on arrive sur un descriptif et la liste de ses albums. Le input est de type "image" et comme IE n'en récupère pas la valeur, j'ai rajouter un "hidden" au formulaire.
    Le problème est que la valeur du "hidden", quelque soit l'artiste choisi reste la même, à savoir un artiste qu'on avait pas demandé.

    d'où cela peut-il venir?

    Voilà le formulaire en question
    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
     
    echo "<div>
    <h1 align='right'>Bands&nbsp;</h1>\n";
    echo "<form action='releases.php' method='post'>\n";
    echo "<div class='centre-table'><h5 align='center'>&nbsp;&nbsp;Cliquez sur les images pour voir le détail</h5>\n";
    echo "<table cellspacing='10' border='0' width='80%' align='center'>";
    $compteur=1;
    while ($ligne =mysql_fetch_array($result))
    {extract($ligne);
    echo "<tr><td valign='top' width='15%'>\n";
    echo "<input type='image' src='images/{$ligne['image']}' name='imgartist' value='$nom' align='middle'>
    <input type='hidden' name='artist' value='$nom'\n";
    if ($compteur == 1)
    {echo "checked";
    }
    echo "><b>&nbsp;$nom</b>
    </td>
    </tr>";
    $compteur++;
    }
    echo "</table>";
    echo "</div></form></div>\n";

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Bonjour,

    Essaye avec ce code, voir si tu récupère le bon nom de ton artiste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='hidden' name='artist' value='$nom'>
    Je vois pas trop ce que vient faire ton attribut "checked" dans ton hidden. Le checked est utilisé pour les cases à cocher, pour définir si elles sont cochées ou non.

    Si tu as pas le bon nom avec le $_POST['artist'], essaye d'afficher ta variable $nom pour vérifier si les résultats de ta requête sont bons.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut re
    Le checked c'est un truc que j'avais laissé par mégarde (le input était checkbox au départ...)
    j'ai enlevé et mis ta suggestion... Toujours le même problème...

    avec print_r( $_POST );

    Array ( [imgartist_x] => 43 [imgartist_y] => 66 [imgartist] => Ben Atley
    [artist] => Tournesol )

    Tournesol étant l'artiste qui ne veut pas laisser sa place à l'autre (ici "Ben Atley")...
    je vois pas d'où ça peut venir...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut rajout d'un ps
    ps: la variable était affichée et correctement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "<input type='image' src='images/{$ligne['image']}' name='imgartist' value='$nom' align='middle'>
    <input type='hidden' name='artist' value='$nom'>\n";
    echo "<b>&nbsp;$nom</b>

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    c'est re moi,

    j'avais pas compris ce que tu voulais dire, effectivement la variable $nom dans la page de résultat est "tournesol"

  6. #6
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Y'a un truc que je comprend pas dans ce que tu dis, à mon sens c'est un peu logique que $_POST['artist'] ne contienne qu'une valeur, et c'est certainement la 1ère du form.

    Soit, tu fais un form par artist, ou soit tu utilises un tableau pour $_POST['artist'].

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='hidden' name='artist[]' value='$nom'>

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut re
    j'avais déjà essayé en fait et c'est le même résultat...
    merci quand même
    Ce qu'il faudrait trouvé c'est d'où sort ce "tournesol" qu'on a jamais demandé...

  8. #8
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Et si tu lances ta requête sql dans phpmyadmin le resultat de la requête est celui attendu?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut résolu (ou presque)
    J'ai apparemment trouvé d'où venait le problème.... C'est que selon ce que j'ai vu sur le net, les champs hidden ont du mal à se remettre à zéro, c'est à dire que la première info demandée reste en mémoire, quelque soit les choix ultérieurs... étranges... enfin bon...

    J'ai vu des solutions pour forcer le reset des champs hidden en javascript, mais comme je n'ai pas envie de surcharger ma page et de rendre java indispensable, je vais me contenter d'un submit relooker en css...

    je n'ai donc as vraiment résolu le problème mais c'est une bonne solution alternative...

    Merci à toux ceux qui ont essayé de m'aider...

    A +

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

Discussions similaires

  1. [PHP-JS] champ texte peut il devenir un champ html ?
    Par djedje37et28 dans le forum Langage
    Réponses: 5
    Dernier message: 28/08/2006, 09h16
  2. probleme formulaire et un champ hidden
    Par amigauss dans le forum Langage
    Réponses: 8
    Dernier message: 26/01/2006, 17h50
  3. [PHP-JS] Champs de saisie
    Par lechevin dans le forum Langage
    Réponses: 15
    Dernier message: 05/01/2006, 12h09
  4. remplir un formulaire qui se met dans un champ hidden
    Par cecileb dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/09/2005, 16h37
  5. 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

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