Aucun POST de données retournés lorsque cachée type d'entrée est présent
Je pense qu'il y a une erreur dans mon code, ou mon PHP ou Apache est configuré de manière incorrecte.
Quand je soumettre un formulaire avec un champ caché en elle, je ne reçois pas toutes les données dans mon $_POST tableau...
Quand je commenter le champ caché dans mon code, les données POST est retourné correctement...
FORMULAIRE HTML
<form action='/utils/login.php ' method='POST'>
<table>
<tr>
<td colspan='2'>
Login
</td>
</tr>
<tr>
<td>
Username
</td>
<td>
<input type='text' name='userid' value='' size='12' />
</td>
</tr>
<tr>
<td>
Password
</td>
<td>
<input type='password' name='password' size='12' />
</td>
</tr>
<tr>
<td>
<input type='hidden' name='formtype' value='login' />
</td>
</tr>
<tr>
<td>
<input type='submit' value='Submit' />
</td>
</tr>
</table></form>
Voici le code qui est en cours de traitement en PHP...
foreach ($_POST as $var => $value) {
echo "$var = $value<br>";
}
Je suis à l'aide de PHP 5 et Apache 2.2 sur mon serveur.
Des idées?
MODIFIER...
J'ai rétréci vers le bas à ce...
$command = $_POST['formtype'];
Quand j'ai enlevé le signe @ de mon $_POST, je reçois le message d'erreur suivant...
Notice: Undefined variable: formtype dans C:\webroot\utils\login.php sur la ligne 17
Si je commente cette ligne, les données POST est passé dans le programme sans problème.
<form>
? Je ne vois pas de balise de fermeture.Vous n'avez pas besoin annother cellule de tableau pour ce qui est caché feild...
Oui. Ma page a la fermeture </form> tag. J'avais oublié de le coller dans la publication. Ce n'est pas le problème avec le formulaire.
Mise à jour - j'ai essayé de tourner E_Notice erreurs, mais cela ne fonctionne pas. Le problème survient lorsque j'essaie d'affecter ou d'accéder aux variables POST.
vous pouvez essayer de le changer pour un champ normal, et de modifier le nom du champ de trop et voir si cela fonctionne. peut aider à réduire
OriginalL'auteur Grizzly Peak Software | 2010-07-13
Vous devez vous connecter pour publier un commentaire.
Je suggère de changer le code que vous utilisez pour afficher le contenu de
$_POST
à un seul appel:Quand vous êtes de l'affichage de la totalité du contenu d'un tableau, c'est mieux qu'une boucle w/echo, car elle montrera chaque valeur à tous les niveaux de la matrice.
Également, comme cela a été mentionné dans un commentaire, assurez-vous de fermer le formulaire dans le code html.
Pourquoi cette réponse a obtenu 3 voix?!
OriginalL'auteur Jeffrey Blake
Vous jamais fermé votre
<form>
tag.Et je vois maintenant que quelqu'un me battre pour elle, par un mile dans les commentaires. Encore, c'est la bonne réponse.
OriginalL'auteur Dagg Nabbit
Avez-vous essayé de prendre le caché entrée de la table et de le placer juste après l'ouverture de la balise form?
Vous pouvez également utiliser:
...pour afficher les variables post.
Aussi, si toutes les entrées sont créées dynamiquement ou peut-être manquantes dans les variables POST... vous pouvez utiliser:
...pour définir dynamiquement des variables qui pourraient être là ou pas.
OriginalL'auteur Jo Albright
J'ai changé ma façon de travailler avec Twig. Le changement de forme n'était pas de l'envoi de l'cachés de la valeur d'entrée avec la poste.
Dans le cas où quelqu'un a le même problème, je l'ai résolu en procédant de la manière suivante.
La ligne d'origine était:
Je l'ai vendu en rendant type='hidden':
OriginalL'auteur Wow
Veuillez essayer avec:
OriginalL'auteur Koray Tugay