两个php代码中哪一个更好


Which of the two php codes is better

当您使用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。