2012-01-27 96 views
0

在我們想要作爲演示顯示的模塊中,我想顯示登錄可以看起來像 ,所以在安全策略中沒有太大需求。JSession給我一個空白頁面

我的問題如下:當我輸入此代碼時,頁面變爲空白。框架不加載,看起來像joomla不會得到我正在加載一個頁面。 (no html)

這是我第一次玩JSession。

defined('_JEXEC') or die('Direct Access to this location is not allowed.'); 
define("SHAKERCLASS"," jhShake_module"); 
jimport('joomla.application.module.helper'); 

$document = &JFactory::getDocument(); 
$db   = &JFactory::getDBO(); 
$session = JFactory::getSession(); 
$loginInfos = array(); 
if(!empty($session->get('login'))){ 
    $loginInfos = $session->get('login'); 
}else{ 
    $loginInfos = array("status" => "login", "username" => "", "password" => ""); 

    $session->set('login', $loginInfos); 
} 

$menuLogin = "<div id='connexion'> 
       <form name='input' action='$urlHere' method='POST'> 
        Username : <input type='text' name='usrn_Diffusion' /> 
        Password : <input type='password' name='pass_Diffusion' /> 
        <input type='submit' value='Submit' /> 
       </form> 
       </div>"; 


#DEMO LINE 
$passwordOnOff = true; 
if($passwordOnOff){ 

    if(!empty(JRequest::getVar('pass_Diffusion')) && !empty(JRequest::getVar('usrn_Diffusion'))){ 
      $loginInfos["status"]   = "logged"; 
      $loginInfos["password"]  = JRequest::getVar('pass_Diffusion'); 
      $loginInfos["username"]  = JRequest::getVar('usrn_Diffusion'); 

      $loginInfos = $session->set($loginInfos); 
    } 
    if($loginInfos["status"] == "logged"){ 
     if($password == $loginInfos["password"] && $username == $loginInfos["username"]){ 

     }else{ 
      $loginInfos["status"]   = "loginError"; 
      $loginInfos["password"]  = ""; 
      $loginInfos["username"]  = ""; 

      $loginInfos = $session->set($loginInfos); 
     } 
    }else{ 
     $output = $menuLogin; 
     exit(); 
    } 

} 

編輯:

錯誤行似乎是這樣的一個:

if(!empty($session->get('login'))){ 

回答

1

好像你不能使用 「空」 在$會話級>的get( '登錄' )

這裏是做到這一點的正確方法:

if($session->get('login', false)){