所包含的功能无法在php中包含的标头和navbar文件中工作

时间:2018-10-12 16:08:08

标签: php

我正在某些网站上工作,我在其中的php文件包括文件夹和导航栏,布局文件夹中的页眉和页脚。当我在index.php中的include文件夹中需要函数时,它们可以正常工作,但是当我在header或navbar中调用相同的函数时,会出现错误,即错误未定义索引和函数名称。我该怎么办?

Index.php:

<?php 
require("../includes/initialize.php");
require_once(LIB_PATH.DS.'session.php');    
?>

<!-- header -->
<?php 
include_layout_template('header.php'); 
include_layout_template('navbar.php'); 
?>

<?php echo output_message($message); ?>

navbar.php:

<div class="agileits_header">
    <div class="container">
        <div class="w3l_offers">
        </div>
        <div class="agile-login">
            <ul>
            <?php if(!$session->is_logged_in()): ?>
                <li><a href="register.php"> Create Account </a></li>
                <li><a href="login.php">Login</a></li>
            <?php else: ?>
                <li><a href="profile.php">Profile</a></li>
                <li><a href="logout.php">Logout</a></li>
            <?php endif; ?>
                <li><a href="contact.php">Help</a></li>
            </ul>
        </div>

这是我的initialize.php文件:     

defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);

defined('SITE_ROOT') ? null : 
    define('SITE_ROOT', DS.'xampp'.DS.'htdocs'.DS.'supermarket');

defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');

// load config file first
require_once(LIB_PATH.DS.'config.php');

// load basic functions next so that everything after can use them
require_once(LIB_PATH.DS.'functions.php');
require_once(LIB_PATH.DS.'validation_functions.php');

// load core objects
require_once(LIB_PATH.DS.'database.php');
require_once(LIB_PATH.DS.'database_object.php');
require_once(LIB_PATH.DS.'pagination.php');


// load database-related classes
require_once(LIB_PATH.DS.'user.php');
require_once(LIB_PATH.DS.'admin.php');
require_once(LIB_PATH.DS.'seed.php');
require_once(LIB_PATH.DS.'comment.php');

?>

1 个答案:

答案 0 :(得分:0)

始终包括具有绝对路径的所有文件。 不要在包含文件中使用“ ..”。

尝试

define('SITE_ROOT', dirname(__FILE__));

OR

define('ROOTPATH', __DIR__);