我正在开发一个带有php的后端。
我遇到这样的错误问题:
未定义的变量:PHP_SELF
我正在使用php 5.4.4进行开发,如果你想在这里查看源代码,那就是:
答案 0 :(得分:18)
不要使用任何建议的PHP_SELF版本。这是一个安全噩梦,将您的PHP开放给多种可能的注入攻击。
你想要达到什么目的?生成表单发送给自己的URL?使用action=""
- 这是一种有效的方法,并且总是使用URL来发送表单以便加载。
如果您必须知道所请求的脚本,请改用$_SERVER['SCRIPT_NAME']
。
答案 1 :(得分:11)
您正在使用$PHP_SELF
echo $_SERVER['PHP_SELF'] ;
或者
$PHP_SELF = &$_SERVER['PHP_SELF'];
echo $PHP_SELF ;
你也可以
define("PHP_SELF",$_SERVER['PHP_SELF']);
echo PHP_SELF ;
答案 2 :(得分:2)
您是否尝试访问$ _SERVER ['PHP_SELF']?
答案 3 :(得分:2)
是$_SERVER['PHP_SELF']
,而不是$PHP_SELF
。请参阅docs
答案 4 :(得分:1)
看起来某些WordPress发行版声明$PHP_SELF = $_SERVER['PHP_SELF']
的原因我不能说,必须是某种遗留物。
答案 5 :(得分:1)
我必须使用Page Url解决此错误... 防爆。像
echo "<a href=\"$_PHP_SELF?page=$last\">Last 3 Records</a>";
您必须删除$ _PHP_SELF并使用网页网址 insert.php .......
答案 6 :(得分:1)
我也是这样, 注意:未定义的变量_PHP_SELF 所以我只是将$ _PHP_SELF替换为$ _SERVER [PHP_SELF] 现在我没有得到任何额外的否
答案 7 :(得分:0)
有些shell会删除$_SERVER['PHP_SELF']
的值作为安全措施。如果发生这种情况,您可能需要查看$_SERVER['argv'][0]
。
答案 8 :(得分:-1)
我解决了启动变量的问题:
$PHP_SELF = NULL;
$Path1 = realpath(substr($PHP_SELF, 1));
$dbName = "$Path1\\BD.accdb";