2014-03-30 25 views
0

在我的header.php文件,我寫道:如何訪問一個級別深度文件中的對象?

<?php require_once('includes/session.php');?> 

在我admin_login.php文件我寫道:

get_header(); 
global $session; 
$session->login($found_user);  

get_header()將包括header.php具有'session'類由
<?php require_once('includes/session.php');?>

和admin_login.php通過get_header()具有header.php。

那麼爲什麼會話類在我的admin_login.php中不可用?它顯示了以下錯誤:

Call to a member function is_logged_in() on a non-object in 
D:\server\htdocs\wordpress\wp-content\themes\amrajegeachi.com\super_admin_home.php on line 9 

內admin_login.php所有代碼:

<?php 
    /* 
    Template Name: admin login form 
    */ 
?> 

<?php 
require_once('includes/user.php'); 
get_header(); // includes.session.php has been included by header.php 

?> 
     <div id="super-admin-login">    
    <?php 
if(isset($_POST['login-btn'])) 
{ 
    if(!empty($_POST['user']) || !empty($_POST['password'])) 
     { 
      $username=$_POST['user']; 
      $password=$_POST['password']; 
      $found_user = User::authenticate($username,$password); 
      if($found_user){ 
       global $session; 
       $session->login($found_user); 
      } 
     } 
} 
?> 
    <form name="input" action="#" method="post"> 
    <table> 
     <tr><td> Username:</td><td><input type="text" name="user" /></td> </tr> 
     <tr><td> Password:</td><td><input type="password" name="password" /></td> </tr> 
     <tr><td> </td><td class="btn"> <input type="submit" name="login-btn" value="Login" /></td></tr> 
    </table> 
</form> 
     </div>  
    <?php 
    get_footer(); 
    ?> 
+1

如何以及何時'$ session' var被初始化? – raina77ow

+0

$ session在session.php初始化 –

+0

當然,但究竟是如何?另外,在函數內還是在全局範圍內使用'global $ session'?如果是後者,這有點無意義;你至少要在調用'get_header()'之前定義它。 – raina77ow

回答

0

我有固定的這個error.I改變getheader()來require_once( 「header.php文件」);現在它工作正常

相關問題