JSession дает мне пустую страницу - PullRequest
0 голосов
/ 27 января 2012

в модуле, который мы хотим отобразить как демо, я хотел показать, как может выглядеть логин так что нет необходимости в мерах безопасности.

Моя проблема заключается в следующем: когда я ввожу этот код, страница становится пустой. фрейм не загружается и выглядит так, будто 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 Ответ

1 голос
/ 28 января 2012

Похоже, вы не можете использовать "empty" в $ session-> get ('login')

вот правильный способ сделать это:

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