我有点难住了。我一直在绞尽脑汁想弄明白这事。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的。您应该检查它们并显式地指定它们