我怎么有顾客看到登录页面,而不是主页的,如果他们没有登录? 我试着用下面的代码,但它重定向到即使客户登录的登录页面。
<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>
您可以检测用户是否正在通过查看来自欢迎信息登录%%GLOBAL_LoginOrLogoutText%%
代码。
所以,如果不显示欢迎文本将其重定向到的login.php页面。
另外请注意,你需要一个警告,如果他们已经在这个页面,你不需要(一次又一次)再次将他们重定向。
我建立了这个有一天,我能够检查是否有顾客从商店内任何页面登录。
//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来检查它,你可以显示不同的内容或重定向到一个不同的页面。
不幸的是,“%% 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>
你可以简单地寻找“退出”文本的存在,是这样的。 此代码将继续“网页详细信息”的在店面任何网页“页面内容” - 网页。 您必须使用在编辑器中的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>
如果你正在寻找这样做在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