PHP自我提交表单在FF和Chrome工作,但不是IE(404错误)



我有点难住了。我一直在绞尽脑汁想弄明白这事。PHP自提交表单在firefox和Chrome中工作良好,但当我在IE中尝试时,我收到404错误。

下面是我的表单标签:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"
    name="New Policy/Procedure Form" id="form_name">
//content
<input type="submit" value="submit" id="submit" name="submit" />

任何帮助都非常感谢!

您应该将PHP_SELF放在引号内:$_SERVER['PHP_SELF'];如果您的错误报告设置允许PHP生成它通常为此做的通知,那将会毁了您的一天。

另外(但不太可能)可以想象$_SERVER['PHP_SELF']包含一些HTML标记的"红旗"字符。当你在HTML中嵌入一个非固定值时,你应该总是使用htmlspecialchars,包括在这种情况下:

action="<?php echo htmlspecialchars($_SERVER[PHP_SELF]); ?>"

htmlspecialchars还有其他参数,这些参数的默认值在大多数情况下(但并非总是如此)是OK的。您应该检查它们并显式地指定它们

最新更新