哪个更好
答
都不是。使用这个:
<form action=''>
答
根据您的服务器软件,使用Linux下的REQUEST_URI和windows下的PHP_SELF,然后获得速度。来源:http://sniptools.com/vault/php_self-getenv-request_uri-or-script_name
答
REQUEST_URI
是一切域名的URL的权利,因此,如果您的网址是:http://example.org/funny/form.php
,然后REQUEST_URI
将“/funny/form.php”
这是你想要的要做的事:
<form action="<?php echo($_SERVER['REQUEST_URI']); ?>">
</form>
这会将表格发送到访问者所在的URL。
注意:进行GET请求时,get变量也在REQUEST_URI中。因此,如果您的网址是:http://example.org/funny/form.php?name=obama
,那么REQUEST_URI
将为“/funny/form.php?name=obama”,这不是您希望作为表单元素中的操作属性。如果您使用POST请求,这不是问题。如果您正在使用GET请求,则必须在问号处切断REQUEST_URI。
答
我会建议使用FULL URL,所以使用REQUEST_URI
并编写一个函数来生成完整的URL并将其插入到表单中。另一种方法是使用""
提交到当前页面。您不需要使用PHP_SELF
,但如果您这样做,请注意dangers。
更好地使用什么? – j08691 2012-03-29 23:02:39
他们是两回事。 '$ _SERVER [“REQUEST_URI”];'是请求URI,如'/ question/123'和'$ _SERVER [“PHP_SELF”];'是脚本的路径,Web服务器最终调用的就是'/ classes/question/Qeustion.inc'。如果你没有使用任何重写,它们是相同的,但如果你是完全取决于你想要哪一个。 – Halcyon 2012-03-29 23:04:03
所以当浏览到你自己的页面时,最好是重新获取脚本的url或路径? – user1292857 2012-03-29 23:06:37