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();
?>
如何以及何時'$ session' var被初始化? – raina77ow
$ session在session.php初始化 –
當然,但究竟是如何?另外,在函數內還是在全局範圍內使用'global $ session'?如果是後者,這有點無意義;你至少要在調用'get_header()'之前定義它。 – raina77ow