JSession给了我一个空白页面

时间:2012-01-27 19:06:36

标签: php joomla joomla1.5

在我们想要作为演示显示的模块中,我想显示登录的外观 所以安全问题没有什么大的需要。

我的问题如下:当我输入此代码时,页面变为空白。框架没有加载,看起来像joomla没有得到我加载页面。 (没有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 个答案:

答案 0 :(得分:1)

好像你不能在$ session-&gt; get('login')上使用“空”

这是正确的方法:

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