Envoyer une variable avec input hidden

Résolu
nn -  
 nn -
Bonjour,
J'ai recherché sur le web mais je n'ai rien trouvé qui puisse résoudre mon problème bien qu'il soit fort simple:
Quelle est la syntaxe pour envoyer une variable ($id en l'occurence) avec input hidden?
J'ai éssayé toutes les variantes de

<input type="hidden" name="number" value="$id" />

mais ça ne passe pas.

Merci d'avance
Configuration: Linux Fedora
Firefox 3.5.5

12 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Fallait le dire que tu étais déjà dans un echo.
    Voilà :
    echo '<form action="deletetext.php" method="post">
    <input type="submit" value="delete" />
    <input type="hidden" name="number" value="'.$id.'" />
    </form>'; 
    2
  2. nn
     
    non ça ne renvoit rien :(
    pourtant $id n'est pas vide.
    De plus si je mets manuellement
    $_POST['number']=13; ça ne marche pas non plus...
    1
  3. nn
     
    Tu écris dans le futur avion-f16? :)
    En fait si je mets

    <input type="hidden" name="number" value=5 />

    ça marche mais avec

    <input type="hidden" name="number" value="<?php echo $id ; ?>" />

    non. Voici le code environnant:

    ...
    while($data = mysql_fetch_assoc($req))
    {
    $login= $data['login'];
    $text= $data['text'];
    $id= $data['id'];

    echo'<table>
    <tr>
    <td>Nr. '.$id.' </td>
    <td> de '.$login.'</td>
    </tr>
    </table>';

    echo '<div class="textbox"><p>'.$text.'</p></div>';

    echo '<form action="deletetext.php" method="post">
    <input type="submit" value="delete" />
    <input type="hidden" name="number" value="<?php echo $id ; ?>" />
    </form>';
    }
    ...
    1
  4. nn
     
    génial (et je suis génialement con aussi).
    Pourtant j'ai déjà utilisé cette syntaxe... :-/
    Merci beaucoup avion f 16
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Avec un simple echo en PHP pour donner la valeur au champ, et ensuite $_POST['nom_du_champ'] comme pour n'importe quel champ contiendra la valeur du champ.
    0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    il faut aussi que dans ton formulaire tu mettes en PHP la partie affectation de la variable au parametre value

    <input type="hidden" name="number" value="<?php echo $id ; ?>" /> 
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Ce que je sous-entendais avec “Avec un simple echo en PHP pour donner la valeur au champ”
      0
    2. nn
       
      Et je l'appelle alors dans le fichier php par

      $number=$_POST['number']; ?
      0
  8. nn
     
    Le but après est en fait:

    $number=$_POST['number'];
    ...
    $req = mysql_query("DELETE FROM posts WHERE id=$number")
    0
  9. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    “Et je l'appelle alors dans le fichier php par $number=$_POST['number']; ?”
    Oui
    0
  10. nn
     
    si j'entre $number=12; ça marche mais
    $_POST['number'] est vide à chaque fois...
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Même après l'envoie du formulaire ?
      Ton champ est-il bien entre <form method="post" action="qlqchose.php"> et </form> ?
      0
  11. nn
     
    merci pour l'aide

    <form action="deletetext.php" method="post">
    <input type="submit" value="delete" />
    <input type="hidden" name="number" value="<?php echo $id ; ?>" />
    </form>';

    oui il l'est
    0
  12. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Avant d'envoyer le formulaire, affiches les sources et vérifie qu'il y ai bien quelque-chose dans "value".
    0
  13. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Donc on a 2 problèmes :
    - Le variable $id ne contient rien lors de l'echo dans l'attribut value du input : es-tu sûr de bien l'avoir déclarée quelque-part ?
    - La suppression ne se fait pas, même si $_POST['number'] a été défini manuellement : une erreur ? es-tu connecté à la bdd ? L'enregistrement ayant 13 dans le champ "id" existe-t-il bien ?
    0