1

如果客户没有登录,我如何让客户看到登录页面而不是主页?我尝试使用以下代码,但即使客户已登录,它也会重定向到登录页面。

<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>
4

5 回答 5

1

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

因此,如果没有显示欢迎文本,请将它们重定向到 login.php 页面。

另请注意,您需要注意的是,如果它们已经在该页面上,则无需再次重定向它们(一次又一次)。

于 2013-11-06T05:26:12.503 回答
0

前几天我做了这个,我能够检查客户是否从商店的任何页面登录。

    //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 进行检查,您可以显示不同的内容或重定向到不同的页面。

于 2015-03-12T15:33:25.827 回答
0

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

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

<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>
于 2015-07-23T13:15:06.210 回答
0

您可以像这样简单地查找“退出”文本的存在。此代码将用于 Storefront - Web Pages 中任何网页的“网页详细信息”的“页面内容”。您必须使用编辑器上的 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>
于 2018-12-06T04:15:42.643 回答
-1

如果您希望在 php 中执行此操作,并且您正在使用会话来存储登录信息,您可以在主页顶部执行类似这样的简单操作:

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

希望有帮助。

于 2013-11-06T02:56:50.570 回答