使用 require() 不加载 php 文件
Using require() doesn't load php file
//index.php
if(isset($_GET["action"])){
if($_GET["action"]=="add_admin"){
require("../gbl_admin/admin_header.php");
require("../gbl_admin/admin_add.php");
}
}
//admin_header.php
require("../gbl_admin/db/db_ini.php");
require("../gbl_admin/classes/dbmgmt.php");
require("../gbl_admin/configuration/passwordhash.php");
我在 dbmgmt 中创建了一个来处理数据库,但是在通过 index.php 调用它并提交表单后,它给我 "Creating default object from empty value " 错误以及来自 [=17] 的 "Call to undefined function create_hash()" 错误=] 文件。这意味着 index.php 未加载文件。我该如何解决这个问题??
我建议您始终使用绝对路径 __DIR__
,或者对于低于 PHP 5.3 的版本,请使用 dirname(__FILE__)
这意味着您的包含应该遵循
require(__DIR__."/../gbl_admin/admin_header.php");
但是,由于您正在使用 require,并且您说不需要这些文件,唯一合乎逻辑的解释是您的 if 条件不满足。
尝试:
if(isset($_GET["action"])){
if($_GET["action"]=="add_admin"){
require("../gbl_admin/admin_header.php");
require("../gbl_admin/admin_add.php");
}else{
die('error 1');
}
}else{
die('error 2');
}
//index.php
if(isset($_GET["action"])){
if($_GET["action"]=="add_admin"){
require("../gbl_admin/admin_header.php");
require("../gbl_admin/admin_add.php");
}
}
//admin_header.php
require("../gbl_admin/db/db_ini.php");
require("../gbl_admin/classes/dbmgmt.php");
require("../gbl_admin/configuration/passwordhash.php");
我在 dbmgmt 中创建了一个来处理数据库,但是在通过 index.php 调用它并提交表单后,它给我 "Creating default object from empty value " 错误以及来自 [=17] 的 "Call to undefined function create_hash()" 错误=] 文件。这意味着 index.php 未加载文件。我该如何解决这个问题??
我建议您始终使用绝对路径 __DIR__
,或者对于低于 PHP 5.3 的版本,请使用 dirname(__FILE__)
这意味着您的包含应该遵循
require(__DIR__."/../gbl_admin/admin_header.php");
但是,由于您正在使用 require,并且您说不需要这些文件,唯一合乎逻辑的解释是您的 if 条件不满足。
尝试:
if(isset($_GET["action"])){
if($_GET["action"]=="add_admin"){
require("../gbl_admin/admin_header.php");
require("../gbl_admin/admin_add.php");
}else{
die('error 1');
}
}else{
die('error 2');
}