的Bigcommerce - 如果不是在登录如何重定向用户从网页登录页面(Bigcommerce

2019-10-18 22:03发布

我怎么有顾客看到登录页面,而不是主页的,如果他们没有登录? 我试着用下面的代码,但它重定向到即使客户登录的登录页面。

<script language="javascript" type="text/javascript">//<![CDATA[
if (window.location.href.toString() == "http://www.mywebsite.com/")
{
    window.location.assign("http://www.mywebsite.com/login.php");
}
//]]></script>

Answer 1:

您可以检测用户是否正在通过查看来自欢迎信息登录%%GLOBAL_LoginOrLogoutText%%代码。

所以,如果不显示欢迎文本将其重定向到的login.php页面。

另外请注意,你需要一个警告,如果他们已经在这个页面,你不需要(一次又一次)再次将他们重定向。



Answer 2:

我建立了这个有一天,我能够检查是否有顾客从商店内任何页面登录。

    //this will allow you to mention the cookie by index
    function getCookie(name) {
      var value = "; " + document.cookie;
      var parts = value.split("; " + name + "=");
      if (parts.length == 2) return parts.pop().split(";").shift();
    }
    //set variable that will check if login email exists
    var loggedIn = getCookie('LoginEmail');

    //logic that will output different content based on the loggedIn Status
    if(typeof loggedIn === 'undefined'){
        console.log("They are not logged in!");
        var notLoggedIn = '<ul><li><a href="/membership/">Become a Member</a></li></ul><p>Already a member? <a href="/login.php">Sign In >></a></p>';
        $(notLoggedIn).appendTo(".LandingInnerContent");
    }
    else{
        console.log("They are logged in! ");
        var isLoggedIn = '<ul><li><a href="/membership/">Shop Now</a></li></ul><p>Access <a href="/account.php">Account Page >></a></p>';
        $(isLoggedIn).appendTo(".LandingInnerContent");
    }

链接回购

这将允许您根据cookie来检查它,你可以显示不同的内容或重定向到一个不同的页面。



Answer 3:

不幸的是,“%% GLOBAL_LoginOrLogoutText %%”变量通常不工作,所以我想出了一个JavaScript的解决方案。

首先,我检查%% GLOBAL_CurrentCustomerFirstName %%的值,然后填充在登录或注册,注销或“礼”相应地使用jQuery。

<li class="login-register">
     <script type="text/javascript">
           var GlobalFname="%%GLOBAL_CurrentCustomerFirstName%%";

           if (GlobalFname !="" && GlobalFname!="Guest"){
               $('li.login-register').html('<a href="%%GLOBAL_ShopPath%%/login.php?action=logout">LOG OUT</a>');
           } else {
               $('li.login-register').html('<a href="%%GLOBAL_ShopPath%%/login.php">LOGIN</a> OR <a href="%%GLOBAL_ShopPath%%/login.php?action=create_account">REGISTER</a>');

          };
     </script>
</li>


Answer 4:

你可以简单地寻找“退出”文本的存在,是这样的。 此代码将继续“网页详细信息”的在店面任何网页“页面内容” - 网页。 您必须使用在编辑器中的HTML按钮,然后将其粘贴为原料HTML。

<script type="text/javascript">
$(document).ready(function(){

if( $(".header").text().indexOf('Sign out') >= 0){
  //alert("Customer is logged in");
  $("#div_logged_in").show();
  $("#div_not_logged_in").hide();
} else {
  //alert("Customer is NOT logged in");
  $("#div_logged_in").hide();
  $("#div_not_logged_in").show();
}

});
</script>

<div id="div_logged_in">
    <p>The customer IS logged in.</p>
</div>
<div id="div_not_logged_in">
    <p>The customer IS NOT logged in</p>
</div>


Answer 5:

如果你正在寻找这样做在PHP中,和你用会话存储的登录信息,您可以在主页的顶部做一些简单的像这样:

<?php
session_start();
//check if the user is already logged in.
if (!isset($_SESSION['user'])) {
    header('Location: login.php');
}

希望帮助。



文章来源: Bigcommerce - How to redirect users to login page from homepage if not logged in