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

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 に答える
-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 に答える