$_POST est vide après la soumission du formulaire
J'ai créé cette page de test sur mon serveur. S'il vous plaît dites-moi pourquoi le $_POST
tableau ne contient pas de rien, même quand je soumettre le formulaire. J'ai essayé ceci dans les trois navigateurs différents et rien ne se passe.
<?php print_r($_POST);?>
<form method="post">
<p><label>Email: </label>
<input type="text" id="login_email" />
</p>
<p><label>Password: </label>
<input type="password" id="login_password" />
</p>
<p><label>Remember Me?: </label>
<input type="checkbox" id="login_remember" />
</p>
<p>
<input type="submit" value="Login" />
</p>
</form>
J'ai écrit en PHP depuis des années et cela n'est jamais arrivé avant. Quel est le problème avec ce code?
OriginalL'auteur Mike Stanford | 2009-05-12
Vous devez vous connecter pour publier un commentaire.
Votre apport d'éléments n'ont pas d'attributs de nom. Devrait être:
Si un élément d'entrée n'a pas un nom d'attribut, il n'est pas envoyé dans le cadre de la POST données.
OriginalL'auteur Ayman Hourieh
Bien, vous n'avez pas une action de la balise form? Il devrait être le nom du script:
...et vous êtes également à ne pas fixer les noms de chaque type d'entrée - le navigateur ne peut pas soumettre l'ID que le nom de l'élément.
La plupart des navigateurs ne présentent ce comportement, mais selon les spécifications officielles, l'attribut action est nécessaire - w3.org/TR/html401/interact/forms.html.
Merci pour la clarification. Je suis d'accord que c'est une mauvaise idée à exprimer ce genre d'ambiguïté lors de la spécification ne définit pas un comportement par défaut.
OriginalL'auteur BrynJ
OriginalL'auteur MichaelICE
Il n'y a pas de nom d'attribut pour les éléments d'entrée.
OriginalL'auteur cgp
Je vous suggère d'écrire quelque chose comme la suite de fonctions basées sur les aides de Zend_View.
Alors que vous n'oublierez jamais/de rater quelque chose comme ça à nouveau.
Astuce:
OriginalL'auteur OIS
L'ensemble de vos éléments d'entrée besoin d'un nom d'attribut.
OriginalL'auteur Jon Ursenbach
Vous avez oublié le nom des attributs pour rendre votre script de travail. Vous pouvez également inclure le "pour" de la balise dans vos étiquettes pour correspondre à votre entrée de noms d'attributs. Ce n'est pas une obligation, mais peut aider avec les CSS mise en forme de votre formulaire:
Aide à trouver tout de et de garder votre code plus de rationaliser et lisible si vous devez revenir 6 mois plus tard. L'attribut action si vous n'allez pas remplir celui que je voudrais inclure ce que votre action:
Ce sera assurez-vous que votre page est bien dans la mesure où la forme de l'obligation, ainsi que de faire en tant que votre script doit s'exécuter. Semble simple sur-veillance. Espérons que cette aide.
OriginalL'auteur stogdilla