当您使用php将表单发布回自己时,最好使用哪种代码:
PHP_SELF or REQUEST_URI?
两者都不是。使用这个:
<form action=''>
根据您的服务器软件,在linux下使用REQUEST_URI,在windows下使用PHP_SELF以提高速度。来源:http://sniptools.com/vault/php_self-getenv-request_uri-or-script_name
我建议使用FULL url,所以使用REQUEST_URI
并编写一个函数来生成完整的url并将其插入表单中。另一种选择是使用""
提交到当前页面。
您不需要使用PHP_SELF
,但如果需要,请注意危险。
REQUEST_URI
是URL中域名右侧的所有内容,因此如果您的URL是:http://example.org/funny/form.php
,则REQUEST_URI
将是"/control/form.php"
这就是你想要做的:
<form action="<?php echo($_SERVER['REQUEST_URI']); ?>">
</form>
这将把表单发送到访问者所在的相同URL。
注意:在发出GET请求时,GET变量也在REQUEST_URI中。因此,如果你的URL是:http://example.org/funny/form.php?name=obama
,那么REQUEST_URI
将是"/control/form.php?name=obama",这不是你想要的表单元素中的动作属性。如果您使用POST请求,这不是问题。如果您使用的是GET请求,那么您必须在问号处剪切REQUEST_URI。