Prbleme de "value" sur un <input=hidd
Résolu
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
-
28 oct. 2008 à 17:55
moicjm Messages postés 271 Date d'inscription mardi 16 octobre 2007 Statut Membre Dernière intervention 12 décembre 2012 - 29 oct. 2008 à 12:24
moicjm Messages postés 271 Date d'inscription mardi 16 octobre 2007 Statut Membre Dernière intervention 12 décembre 2012 - 29 oct. 2008 à 12:24
A voir également:
- Prbleme de "value" sur un <input=hidd
- Input not supported - Forum Ecran
- The input value is invalid. pdf ✓ - Forum Webmastering
- The input value is invalid. - Forum Javascript
- No video input - Forum Windows
- [ NO VIDEO INPUT ENTER SLEEP MODE] - Forum PC portable
4 réponses
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
28 oct. 2008 à 20:57
28 oct. 2008 à 20:57
Il y a une grosse faute
tu a écrit
au lieu d'écrire
tu dois enlever les "
et personellement je préfère écrire comme ceci (avec la concaténation)
Je trouve ça plus lisible mais bon, fais comme tu veux :p
tu a écrit
<input type="hidden" name="numeroid" value="coucou <?php echo "$id"; ?>">
au lieu d'écrire
<input type="hidden" name="numeroid" value="coucou <?php echo $id; ?>">
tu dois enlever les "
et personellement je préfère écrire comme ceci (avec la concaténation)
<input type="hidden" name="numeroid" value="<?php echo 'coucou '.$id ;?>">
Je trouve ça plus lisible mais bon, fais comme tu veux :p
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
29 oct. 2008 à 10:11
29 oct. 2008 à 10:11
Peut tu mettre le code de la page ok.php ?
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
18
29 oct. 2008 à 10:35
29 oct. 2008 à 10:35
Bjr,
il est très simple et me servait surtout à voir si les variables étaient bien transmises... (merci !)
il est très simple et me servait surtout à voir si les variables étaient bien transmises... (merci !)
<?php if (isset($_POST['traiter'])) { $traiter = $_POST['traiter']; $numid = $_GET['numid']; } else { $traiter = "variable à fixer"; $numid = "numero non transmis"; } ?> La variable est : <?php echo $traiter; ?> <br> Le numéro est : <?php echo $numid; ?> <br><br>
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
>
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
29 oct. 2008 à 10:44
29 oct. 2008 à 10:44
si j'ai bien compris pour
$numid = $_GET['numid'];
tu n'a pas le bon numéro?
$numid = $_GET['numid'];
tu n'a pas le bon numéro?
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
18
>
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
29 oct. 2008 à 10:59
29 oct. 2008 à 10:59
oui, au lieu de transmettre à la page ok.php le numéro du message (le 1 pour le message numéro 1, le 2 pour le message numéro 2, le 23 pour le message numéro 23), ca transmet le numéro 23 quoique je fasse. A chaque fois, ca transmets le 23.
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
29 oct. 2008 à 11:15
29 oct. 2008 à 11:15
Je crois savoir pourquoi, il y a confusion dans tes donnée parce que tu a mis ton </form> après le while
essaye en fermant la balise form juste après ton formulaire
oublie pas de supprimer le <form> tout en bas de ton code
essaye en fermant la balise form juste après ton formulaire
<p class="black"><?php echo $id;?></p> <form method="post" action="ok.php?numid=coucou<?php echo $id; ?>"> <input type="hidden" name="traiter" value="o"> <p class="black"><?php echo $id;?></p> <input type="hidden" name="numeroid" value="<?php echo 'coucou '.$id ;?>"> <input type="submit" value="Vu !"> <p class="black"><?php echo $id;?></p> </form>
oublie pas de supprimer le <form> tout en bas de ton code
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
18
29 oct. 2008 à 11:20
29 oct. 2008 à 11:20
ok, ca marche impec..
Mais je ne comprends pas, parce que j'avais lu qu'il fallait justement que je sorte le </form> de ma boucle...
UN GRAND MERCI !!!!!!!!!!!!
Mais je ne comprends pas, parce que j'avais lu qu'il fallait justement que je sorte le </form> de ma boucle...
UN GRAND MERCI !!!!!!!!!!!!
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
29 oct. 2008 à 11:28
29 oct. 2008 à 11:28
Si tu le sors de la boucle, $id que tu enverra par POST sera le dernier (donc ici 23)
si tu le met a l'intérieur alors tu enverra celui que tu a sélectionné.
il y a une astuce qu'on utilise en mettant le </form> après la boucle, c'est pour envoyer plusieur information en même temps (ici plusieur numéro)
mais alors tu dois changer ton nom de l'input contenant le numéro par un nom + un chiffre que tu incrémente a chaque tour.
exemple
C'est le code que j'ai fais pour afficher un panier virtuel (j'utilise ici les SESSION)
lorsqu'on clique sur valider, on a donc : (sa se complique :p)
voila en gros a quoi sert de mettre le "</form>" a l'extérieur :)
a+ :D
si tu le met a l'intérieur alors tu enverra celui que tu a sélectionné.
il y a une astuce qu'on utilise en mettant le </form> après la boucle, c'est pour envoyer plusieur information en même temps (ici plusieur numéro)
mais alors tu dois changer ton nom de l'input contenant le numéro par un nom + un chiffre que tu incrémente a chaque tour.
exemple
$n = 1; $numLine = 1; $prixtot = 0; if (isset($_SESSION['compteur'.$n])) { //Pagination include ('../includes/pagination.php'); ?> <form method="POST" action=""> <table> <tr> <th>Nom</th> <th>Prix unitaire</th> <th>Quantité</th> <th>Prix total</th> </tr> <?php while (isset($_SESSION['compteur'.$n])) { ?> <tr> <td><?php echo $_SESSION['nom_produit'.$n];?></td> <td><?php echo $_SESSION['prix'.$n].' €';?></td> <td><?php echo '<input type="text" style="text-align:center;" class="formulaire" name="nombre_produit' . $numLine . '" value="'.$_SESSION['nbr_achat'.$n].'" />';?></td> <td><?php echo $_SESSION['prix'.$n] * $_SESSION['nbr_achat'.$n].' €';?></td> <td><a href="?page=commander&mod=<?php echo $_SESSION['id_produit'.$n];?>"></a></td> </tr> <?php $prix = $_SESSION['prix'.$n] * $_SESSION['nbr_achat'.$n]; $prixtot = $prix + $prixtot; //Incrémentation $numLine++; $n++; } ?> <tr> <td></td> <td><input type="submit" name="recalculer" value="recalculer" /></td> <td>Total :</td> <td><?php echo $prixtot.' €';?></td> <tr> <tr> <td colspan="5"><input type="submit" name="valider" value="valider" /></td> </tr> </table> </form>
C'est le code que j'ai fais pour afficher un panier virtuel (j'utilise ici les SESSION)
lorsqu'on clique sur valider, on a donc : (sa se complique :p)
$n = 1; for ($numLine = 1; isset($_POST['nombre_produit'.$numLine]); $numLine++) { $id_produit = $_SESSION['id_produit'.$n]; $nom_produit = $_SESSION['nom_produit'.$n]; $prix = $_SESSION['prix'.$n]; $nbr_achat = $_SESSION['nbr_achat'.$n]; $taille = $_SESSION['taille'.$n]; $couleur = $_SESSION['couleur'.$n]; $result = mysql_query("INSERT INTO ..."); $n++; }
voila en gros a quoi sert de mettre le "</form>" a l'extérieur :)
a+ :D
moicjm
Messages postés
271
Date d'inscription
mardi 16 octobre 2007
Statut
Membre
Dernière intervention
12 décembre 2012
18
29 oct. 2008 à 12:24
29 oct. 2008 à 12:24
Merci beauocup tres interessant ta façon de faire, je vais la garder en mémoire pour une autre fois. Merci pour toutes ces explications!
JMS
JMS
29 oct. 2008 à 09:42
J'avais en effet, entre temps, vu le coup des "..."
Malheureusement, ca ne marche pas mieux. C'est tres bizarre, et je ne comprends vraiment pas ce qu'il se passe.
En gros, il s'agit de lire, comme si c'était un livre d'or, les mails que les internautes me laissent en ligne.
J'ai fait une boucle pour appeler, donc, toute la base de donnée.
Le formulaire me sert à marquer les messages lus, comme étant lus. Tres pratique.
Le probleme : à chaque fois, au lieu de transmettre la variable $id qui vaut la valeur du numéro du message, cela renvoie la valeur du dernier message.
Exemple : j'ai les messages 1, 2, 3, ... , 23. Dans mon tableau, j'ai pour chaque message :
- le numéro du message
- le contenu du message
- une image vert ou rouge (pour marquer comme lu en vert ou non lu en rouge)
- le bouton "lu" pour marquer comme lu
Figurez vous que chaque message affiche le bon numéro :
<p class="black"><?php echo $id;?></p>
Mais que le formulaire n'envoie pas le numéro, mais à chaque fois le numéro 23.
Je mets le code :