0

我正在尝试通过获取页​​面路径

<?php

/**
* @author 
* @copyright 2013
*/

$current_file = $_SERVER["SCRIPT_NAME"];
echo $current_file;


?>

它给出了一个错误通知:未定义的索引:SCRIPT_NAME

我也将它包含在我的登录页面代码中

<form action="<?php echo $current_file;?>" method="POST">
Username : <input type="text" name="username"/> Password : <input type="password" name="password" />
<input type="submit" value="LogIn" />
</form>

它还给出了关于 $current_file 的错误

4

1 回答 1

7

php Manual

在 Windows 2000 下,运行 IIS 和 PHP 4.3.10,$_SERVER['SCRIPT_NAME'] 不可用,但是 $_SERVER['SCRIPT_FILENAME'] 存在并且似乎包含相同的信息

还有一种理论

$_SERVER['PHP_SELF'] 和 $_SERVER['SCRIPT_NAME'] 可能并不总是正确设置。一些 web 主机将 php 实现为 CGI,以便他们可以为每个虚拟域打开或关闭它。对于这些虚拟域的子目录子域中的文档,几个 $_SERVER 和 $_ENV 变量值可能不正确。获取当前文件名的其他方法

<?php
if (!isset($_SERVER['DOCUMENT_ROOT']))
    $_SERVER['DOCUMENT_ROOT'] = substr($_SERVER['SCRIPT_FILENAME'], 0, -strlen($_SERVER['SCRIPT_NAME']));
?>
于 2013-05-30T05:58:57.100 回答