为什么使用 $_SERVER['PHP_SELF'] 而不是 “”

2022-08-30 11:35:07

在 PHP 页面上的表单中,您可以使用:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" ...>

<form action="#" ...>

<form action="" ...>

在表单的操作属性中。既然 echo 不传递变量来使用,你必须使用 ,你为什么要使用它或 ?$_SERVER['PHP_SELF']GET"""#"

我之所以问这个问题,是因为我花了一些时间才弄清楚变量没有与 一起传递。谢谢。$_SERVER['PHP_SELF']


答案 1

该属性将默认为当前 URL。这是说“将表单提交到其来源的同一位置”的最可靠,最简单的方法。action

没有理由使用 ,并且根本不提交表单(除非附加了处理提交的事件处理程序)。$_SERVER['PHP_SELF']#submit


答案 2

使用空字符串是完全可以的,实际上比简单地使用更安全。$_SERVER['PHP_SELF']

使用时,只需在URL部分之后附加即可轻松注入恶意数据,因此您不应使用此方法并停止使用任何建议它的PHP教程。$_SERVER['PHP_SELF']/<script>...whatever.php


推荐