Opencart - 检查用户是否已登录并重定向到帐户页面

时间:2015-10-20 22:40:59

标签: javascript php opencart

我的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>

1 个答案:

答案 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*/
}