我的Opencart商店位于子目录' / login'中。在根文件夹中,我有一个index.php文件,显示一个Login用户和密码界面。该站点的工作原理是在用户登录之前不允许访问。登录后,它将被重定向到子目录存储。
一切正常,但当用户完成网站,关闭浏览器,并决定回到.com商店时,他们再次受到登录界面的欢迎。
问题出在这里。如果他们上次没有注销,他们将被卡在登录屏幕上,但由于他们之前已经登录,如果他们重新输入凭据,则不会重定向。它只是出错并且无法重定向。
所以我的问题是:如何检查用户是否已登录,并重定向到该网站?我尝试了islogged(),但它是未定义的,因为所有核心文件都与商店的其余部分一起位于子目录中。我尝试使用php include并包含定义" islogged()"的customer.php文件。但这似乎不起作用。
这是我的index.php文件中的代码。
<script type="text/javascript"><!--
$('#button-cart').on('click', function() {
$.ajax({
url: 'login/index.php?route=account/loginajax',
type: 'post',
data: $('input[type=\'text\'], input[type=\'password\']'),
dataType: 'json',
beforeSend: function() {
$('#button-cart').button('loading');
},
complete: function() {
$('#button-cart').button('reset');
},
success: function(json) {
$('.alert, .text-danger').remove();
$('.form-group').removeClass('has-error');
if (json['error']) {
$('.error').after('<div class="alert alert-danger has-error">' + json['error'] + '</div>');
}
if (json['success']) {
$('.error').after('<div class="alert alert-success">' + json['success'] + '</div>');
window.location = "http://www.mbdtesting.com/login/index.php? route=account/account";
}
}
});
});
</script>
答案 0 :(得分:1)
您可以检查是否设置了客户会话。在您的索引文件中输入: -
if (isset($session->data['customer_id'])) {
/*continue to your site*/
/**Also verify customer is valid or not then continue*/
} else {
/*go to login page*/
}