0

不太清楚如何解释这个最好的方式,但我会试一试!

我有一个使用 Fancybox 的 php 站点。目前,如果有人点击登录,登录表单会出现一个覆盖。如果有人点击发布新列表但他们没有登录,我希望fancybox 覆盖再次出现,允许用户登录。

目前,我有几行 php 代码来检查会话是否处于活动状态 - 如果没有,它会重定向到登录页面,我希望这可以激活带有登录表单的幻想框弹出窗口......如果可能的话?

我不确定如何最好地实现这一目标?任何帮助都是极好的!:)

4

2 回答 2

0

可以有多种方式来做到这一点。

首先,您如何识别某人已登录?假设我是否可以在 if 条件下这样做:

if(user==null) {
  //no login
}

我可以触发LOGIN的锚链接点击,从而再次打开fancybox。

if(user==null) {
  $("a#login").trigger('click');
}

希望能给你一些帮助。

于 2012-11-20T20:34:14.100 回答
0

除了 jQuery,我不确定您使用的编程语言是什么,但一个高级解决方案可能是在用户登录时删除 cookie。然后,当他们点击发布新列表时,检查该 cookie。如果它在那里,让他们发布。如果不显示登录窗口。下面是一些使用jQuery.Cookie插件的伪代码:

$(function(){
$('.login-button').click(function(){
    //send login info via ajax
  $(this).hide("slow",function(){
    // drop a cookie
    $.cookie( 'login', '1',  { expires: 1, path: '/' } );
  });
});

// When the post button is clicked, check for the cookie
// If there's no cookie, show the login box
$('.post-button').click(function(){       
    if( $.cookie('Login') === null ) { 
        $("#login-box").fancybox();
    } else {
        // do nothing
    }
 });

});
于 2012-11-20T20:49:36.740 回答