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

12 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
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
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
nn
 
génial (et je suis génialement con aussi).
Pourtant j'ai déjà utilisé cette syntaxe... :-/
Merci beaucoup avion f 16
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Ce que je sous-entendais avec “Avec un simple echo en PHP pour donner la valeur au champ”
0
nn
 
Et je l'appelle alors dans le fichier php par

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

$number=$_POST['number'];
...
$req = mysql_query("DELETE FROM posts WHERE id=$number")
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
“Et je l'appelle alors dans le fichier php par $number=$_POST['number']; ?”
Oui
0
nn
 
si j'entre $number=12; ça marche mais
$_POST['number'] est vide à chaque fois...
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Même après l'envoie du formulaire ?
Ton champ est-il bien entre <form method="post" action="qlqchose.php"> et </form> ?
0
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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Avant d'envoyer le formulaire, affiches les sources et vérifie qu'il y ai bien quelque-chose dans "value".
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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