récupération du nom des variables d'un formulaire [résolu

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

récupération du nom des variables d'un formulaire [résolu

Message par SB »

J'aurais besoin d'un peu d'aide.
Dans un formulaire j'ai mis des <input> avec la même valeur mais avec des noms différents générés dynamiquement selon la ligne à laquelle ils se rapportent. Ça donne quelque chose du genre :

Code : Tout sélectionner

<input type="submit" name="voir1" value="voir">
<input type="submit" name="voir2" value="voir">
etc...
Comment faire dans ma page php pour reconnaitre quel bouton a été cliqué ?
Dernière modification par SB le 14 août 2004, 00:36, modifié 1 fois.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Tout seul comme cela je ne pense pas que ce soit possible...

Fait des simple bouton qui appelle une fonction qui elle feras le submit
Inscrit sur la liste des abonner absent...
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

J'ai cru comprendre que, la variable étant transmise par le formulaire, on pouvait la récupérer avec l'instruction parse_url. Mais j'arrive pas à trouver la syntaxe correcte.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Tout les variable son passer dans l'url.
Donc je ne pense pas que tu puisse faire la différence.

Essais d'afficher la chaine url entiére pour voir si tu as bien uniquement l'info que tu veux...

http://www.nexen.net/docs/php/annotee/f ... se-url.php

parse_url te permet d'avoir tout les option est pas une seul
Inscrit sur la liste des abonner absent...
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

tu récupères de la même façon que les commandes de formulaire classiques la paire nom/valeur du bouton sur lequel tu as cliqué.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Bobe a raison, fais un print_r($_REQUEST); et tu verras tes submit.
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Bobe a écrit :tu récupères de la même façon que les commandes de formulaire classiques la paire nom/valeur du bouton sur lequel tu as cliqué.
Je sais bien mais le nombre de boutons étant virtuellement illimité je ne vais pas mettre
if($voir1)...
if($voir2)...
etc...
Le but est de récupérer le nom de la variable.
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

L'inverse n'est pas possible ? (variable voir et valeur voir1, voir2…) Je ne sais plus quelles sont les règles en matière d'utilisation des name.
Il te reste aussi l'option de parcourir l'un des 2 tableaux superglobaux $_GET ou $_POST selon le type de ton fomulaire.
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

bobo a écrit :L'inverse n'est pas possible ? (variable voir et valeur voir1, voir2…) Je ne sais plus quelles sont les règles en matière d'utilisation des name.
Et non ce n'était pas possible car j'avais schématisé avec "voir1", "voir2", etc... Il fallait remplacer le chiffre par "le poste du" + date + heure, ce qui m'aurait fait des boutons d'une bonne taille. :)
bobo a écrit :Il te reste aussi l'option de parcourir l'un des 2 tableaux superglobaux $_GET ou $_POST selon le type de ton fomulaire.
C'est ce que j'ai fait au final avec

Code : Tout sélectionner

foreach ($_POST as $nomvar => $valeurvar) {
$a = substr($nomvar, 0, 4);
if($a == "voir")
{...}
else
{...}}
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Je n'avais pas vérifié jusqu'ici mais il semble qu'Internet Explorer ne supporte pas cette expression :

Code : Tout sélectionner

foreach ($_POST as $nomvar => $valeurvar) {...}
car rien de ce que j'ai mis entre accolades ne se produit.
Quelqu'un sait-il où j'ai fait erreur ?
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

:shock: :shock: :shock: :shock: :shock:

Code : Tout sélectionner

foreach ($_POST 
C'est pas du php???

Je n'est pas vérifier, mais jusqu'a preuvent du contraire, mozilla non plus ne fait pas de php, c'est le serveur qui doit interprétait cela...
Inscrit sur la liste des abonner absent...
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Tu as raison, je ne me suis pas posé la bonne question. Pourquoi le serveur ne renvoie-t-il pas la même chose à Firefox et à IE ?
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

essais de vérifier également ce que ie à envoyer au serveur, car si cela tombe les naviguateur n'envois pas la même chose...
Inscrit sur la liste des abonner absent...
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

En effet, le serveur ne renvoyait pas la même chose toujours à cause de ces formulaires imbriqués supportés par FF et pas par IE. :?
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Une idée pour économiser des lignes de code :
HTML :

Code : Tout sélectionner

<input type="submit" name="voir[1]" value="voir">
<input type="submit" name="voir[2]" value="voir">
etc...
PHP :

Code : Tout sélectionner

foreach($voir as $id -> $value) {
  echo "On veut voir l'élément $id\n";
}
En effet, on peut utiliser des crochets dans l'attribut name (pas ID je pense, il faut que je vérifie) et c'est interprété comme un tableau indexé par PHP, ici avec un seul élément.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités