php中的路径无法正常工作

时间:2013-08-22 14:18:29

标签: php javascript html

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

目录结构:

PHP - >

  • navpanel.php

  • 的search.php

  • 用户文件夹

    • checkusername.php

    • 等php文件

  • 数据库文件夹

    • createdatabase.php

JS - >

  • js files

我正在使用的PHP代码包含在其他文件中。

<?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>
    ';
}

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试将您的链接更改为:

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