我正在某些网站上工作,我在其中的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');
?>
答案 0 :(得分:0)
始终包括具有绝对路径的所有文件。 不要在包含文件中使用“ ..”。
尝试
define('SITE_ROOT', dirname(__FILE__));
OR
define('ROOTPATH', __DIR__);