在我们想要作为演示显示的模块中,我想显示登录的外观 所以安全问题没有什么大的需要。
我的问题如下:当我输入此代码时,页面变为空白。框架没有加载,看起来像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'))){
答案 0 :(得分:1)
好像你不能在$ session-&gt; get('login')上使用“空”
这是正确的方法:
if($session->get('login', false)){