16

我在这里用 php 开发一个后端。

我遇到了这样的错误:

未定义变量:PHP_SELF

在我的 htdocs 目录上。

我正在使用 php 5.4.4 进行开发,如果您想查看这里的源代码,它是:

http://pastebin.com/xr2PxbNG

4

8 回答 8

21

不要使用任何建议的 PHP_SELF 版本。这是一场安全噩梦,让您的 PHP 面临多种可能的注入攻击。

你想达到什么目的?为发送给自身的表单生成 URL?使用action=""它 - 这是一种有效的方法,并且将始终使用 URL 来发送表单作为加载。

如果您必须知道请求的脚本,请$_SERVER['SCRIPT_NAME']改用。

于 2012-10-03T14:48:58.340 回答
13

你正在使用$PHP_SELF它应该是

echo $_SERVER['PHP_SELF'] ;

或者

$PHP_SELF = &$_SERVER['PHP_SELF'];
echo $PHP_SELF ;

你也可以拥有

define("PHP_SELF",$_SERVER['PHP_SELF']); 
echo PHP_SELF ;
于 2012-10-03T14:41:51.407 回答
3

您是否尝试访问 $_SERVER['PHP_SELF'] ?

于 2012-10-03T14:40:13.973 回答
1

看起来某些 WordPress 发行版声明$PHP_SELF = $_SERVER['PHP_SELF']的原因我不能说,一定是某种遗留的东西。

于 2013-05-09T02:54:33.500 回答
1

我必须使用页面 URL 来解决此错误... 例如。像

echo "<a href=\"$_PHP_SELF?page=$last\">Last 3 Records</a>";

您必须删除 $_PHP_SELF 并使用页面 URL insert.php .......

于 2015-02-19T11:51:29.227 回答
1

我得到了同样的结果,注意:未定义的变量 _PHP_SELF 所以我只是将 $_PHP_SELF 替换为 $_SERVER[PHP_SELF] 现在我没有得到任何额外的 no

于 2015-02-22T14:54:00.757 回答
0

一些 shell 会删除$_SERVER['PHP_SELF']作为安全措施的值。你可能需要看看$_SERVER['argv'][0]这是否是发生在你身上的事情。

于 2017-11-29T22:49:31.517 回答
-1

我解决了启动变量:

$PHP_SELF = NULL;
$Path1 = realpath(substr($PHP_SELF, 1));
$dbName = "$Path1\\BD.accdb";
于 2018-04-25T12:16:35.663 回答