2012-01-27 65 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)){