Pb de paramètres POST sur un formulaire web

Bonsoir,

pas sûr que la question soit liée à l'ESP32 ou que se soit un pb de compréhension du HTML/HTTP :face_with_raised_eyebrow:

j'ai débuté un serveur web sur un ESP32 avec des formulaires utilisant la méthode POST. Je commence a arriver à récupérer et à traiter les paramètres envoyés par les formulaires mais une chose m'étonne...

De mémoire (pas fiable, certes) en php j'arrivais à récupérer la valeur du bouton de soumission ( le "Enregistrer" de <input type="submit" value="Enregistrer" style="font-weight:bold">)

Ça m'embête un peu car j'ai deux pages différentes qui envoient un requête POST vers la même page et elles diffèrent par ce paramètre value

Est-ce que c'est ma mémoire qui me joue des tours ?
Y a-t-il un moyen de récupérer le nom de la page qui fait la requête ?
Autre astuce ?

Salut.
L'attribut value peut être récupéré, mais en JS, et il faudrait ajouter un attribut id pour pouvoir le récupérer via getElementById().
Autrement, en pur HTML, tu pourrais ajouter un champ hidden à chaque formulaire, avec deux valeurs différentes, et en récupérer la valeur.

C'est effectivement ce que je vais faire. Je pourrais aussi utiliser le nombre de paramètres qui n'est pas le même mais c'est peut-être moins pérenne en cas d'évolution pour un projet encore en balbutiements...

Merci

Pourquoi utiliser la même valeur et ne pas les différentiés?

<input type="submit" name="validation" value="btn1">
<input type="submit" name="validation" value="btn2">

Justement, le problème c'est que ces "value" ne sont pas dans les paramètres passés en POST alors que je m'attendais à pouvoir les retrouver, comme dans mes souvenirs de php.

(ou alors j'ai oublié, ou ils sentaient pas bon © Jacques Brel)

Même si tu rajoute la propriété name qui manque dans le code que tu as donnée ?

:face_with_spiral_eyes:

Je teste ça dès que possible mais si c'est ça (et c'est probable) je reviendrai, confus et repentant, pour que vous puissiez me jeter des tomates !

J'ai hâte :tomato: :tomato: :rofl:
J'espère que ça réglera ton problème, mais après les autres solutions marche tout aussi bien :slight_smile:

OK, je fournis les munitions : :tomato: :tomato: :tomato: :tomato: :tomato: :tomato: :tomato: :bell_pepper: :eggplant: :tomato: :tomato: :tomato: :tomato:

il manquait bien la propriété name à <input type="submit">

cool, merci pour les tomates :rofl:

Oui mais encore, cela change quelque chose aux paramètres reçus par le serveur ?

Oui, j'ai un paramètre supplémentaire (name) qui m'indique le formulaire à l'origine de la requête.

Ah OK. J'igorais.

Dans tous les cas, merci à tous les deux !

Oui, si tu ne mets pas de name a un input, le browser ne peut pas constituer le couple nom=valeur

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.