php中的路径不起作用


Paths in php not working

我在页面中包含了一个导航栏,只要所有php文件都在同一目录中,它就可以正常工作。一旦我将它们移动到文件夹中,导航栏只允许单击一个链接,然后在较低的目录中,文件的路径就不正确了。

目录结构:

php-->

  • navpanel.php

  • search.php

  • 用户文件夹

    • checkusername.php

    • etc.php文件

  • 数据库文件夹

    • createdatabase.php

js-->

  • js文件

php代码im正在使用其他文件中包含的代码。

<?php
$path = $_SERVER["DOCUMENT_ROOT"];
echo $path;
if ($_SESSION['admin'] == 1){
    echo '
        <body>          
            <ul id="menu">
                <li><a href="search.php">Search</a></li>
                <li><a href="#"></span> User</a>
                    <ul>
                        <li><a href="user/createuser.php">Create User</a></li>
                        <li><a href="user/edituser.php">Edit User</a></li>
                        <li><a href="user/deleteuser.php">Delete User</a></li>
                        <li><a href="user/usergroup.php">User Groups</a></li>
                    </ul>
                </li>
                <li><a href="#">Databases</a>
                    <ul>
                        <li><a href="database/createdatabase.php">Create Database</a></li>
                        <li><a href="database/editdatabase">Edit Database</a></li>
                        <li><a href="database/deletedatabase">Delete Database</a></li>
                        <li><a href="database/databasegroup">Database Groups</a></li>
                    </ul>
                </li>
                <li><a href="../connect/logout.php">Log Out</a></li>
            </ul>         
        </body>';
}
else {
    echo '
        <body>
            <ul id="menu">
                <li><a href="search.php">Search</a></li>
                <li><a href="connect/logout.php">Log Out</a></li>
            </ul>
        </body>
    ';
}

问题出在HTML输出中。如果您希望链接与根(http://www.example.com/)是相对的,那么您应该使用/user/createuser.php/user/edituser.php等。

尽管与链接无关,但您引用的是会话变量$_SESSION['admin'],而不是在脚本顶部调用session_start();。如果不调用session_start();,会话变量将返回null。

<?php
session_start(); // u forgot to place this
$path = $_SERVER["DOCUMENT_ROOT"];
echo $path;
if ($_SESSION['admin'] == 1){....

尝试将链接更改为以下内容:

echo '<li><a href="'.$path.'user/createuser.php">Create User</a></li>';