9
votes

PHP $ _Post et identifiant uniquement, aucun nom

Quelqu'un peut-il vous expliquer cela s'il vous plaît?

J'ai le code suivant: p> xxx pré>

Cela fonctionne bien sur ma boîte de développement principale et sur le serveur. Cependant, je dois travailler à distance sur mon ordinateur portable pour le moment. J'ai installé exactement la même construction de WampServer 2.1a comme sur ma configuration de Dev, et le tableau $ _Post est vide. P>

Si je déclare le champ comme: p>

<input type="text" name="testField" />

php

1 commentaires

Hors du point, mais vous devez savoir que cela crée une vulnérabilité XSS: . Utilisez plutôt .


4 Réponses :


7
votes

Comportement standard. Toujours utiliser nom dans le formulaire.


2 commentaires

En effet. Je suis surpris du comportement sur la boîte de dev. "Cela fonctionne bien" semble complètement contraire au bon sens et au comportement habituel des formes HTML.


C'est le cas. Il se peut que le navigateur sur votre boîte de développement principale utilise automatiquement l'identifiant comme attribut manquant .



11
votes

à partir de la spécification HTML 4.01, §17.2, "Contrôles" :

Un "nom de contrôle" d'un contrôle est donné par son attribut de nom.

...

Lorsqu'un formulaire est soumis pour le traitement, certains contrôles ont leur nom jumelé avec leur valeur actuelle et ces paires sont soumises avec la forme.

"id" n'a pas d'importance.


0 commentaires

1
votes

Vous ne pouvez jamais passer une valeur à une autre page à l'aide de l'ID, le seul attribut que PHP peut lire via Methos Post utilise le nom de l'objet.


0 commentaires

0
votes

qui vous suggère de créer un champ de texte que vous remplissez avec l'identifiant de la liste déroulante chaque fois que vous avez changé. Lorsque vous publiez le formulaire, la zone de texte affiche l'ID précédent de la liste déroulante. Vous pouvez définir le champ de texte sur caché


0 commentaires