我试图运行一个非常简单的脚本来测试" action = echo $ _SERVER [' PHP_SELF'];"在HTML表单中(使用php开始和结束,但此站点不允许我引入这些字符)。这是脚本:
<?php if(isset($_POST['submit'])) { echo "it works"; } ?>
<form name="test" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" name="submit" value="Submit Form">
问题是每当我点击提交按钮时,我得到一个&#34; Safari无法找到该文件&#34;错误说明&#34;地址处没有文件&#34;我在哪里运行脚本。
我在这里做错了什么?
非常感谢您的帮助!
爱德华
答案 0 :(得分:1)
尝试使用$_SERVER['REQUEST_URI']
代替$_SERVER['PHP_SELF']
。我认为你正在使用mod_rewrite
,这就是它无法找到文件的原因。
答案 1 :(得分:1)
如果要将数据发布到同一页面,则不需要设置表单的action属性。
<form name="test" method="post">
...
<input type="submit" name="submit" value="Submit Form" />
</form>
应该这样做。
干杯!