2015-05-12 35 views
1
//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文件,並提交表單後,它給了我「從空值創建默認對象」錯誤的以及從passwordhash.php文件中調用「未定義的函數create_hash()」錯誤。這意味着這些文件沒有被index.php加載。我該如何解決??使用要求()不加載php文件

+2

您可以發佈您的目錄/文件結構? – Daan

+0

管理員目錄:http:// localhost/gbl_admin – hengecyche

+0

在哪些目錄/子目錄中引用了所有文件? –

回答

0

我會建議你總是使用絕對路徑通過使用__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'); 
}