Quelqu'un peut-il vous expliquer cela s'il vous plaît?
J'ai le code suivant: p> 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" />
4 Réponses :
Comportement standard. Toujours utiliser nom code> dans le formulaire. P>
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 code> comme attribut
manquant code>.
à partir de la spécification HTML 4.01, §17.2, "Contrôles" : p>
Un "nom de contrôle" d'un contrôle est donné par son attribut de nom. P>
... p>
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. P> blockQuote>
"id" n'a pas d'importance. P>
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. P>
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é p>
Hors du point, mais vous devez savoir que cela crée une vulnérabilité XSS:
PHP Echo $ _Server ['php_self']; ?> code>. Utilisez plutôt
Php echo htmlenttities ($ _ serveur ['php_self']); ?> code>.