不太清楚如何解释这个最好的方式,但我会试一试!
我有一个使用 Fancybox 的 php 站点。目前,如果有人点击登录,登录表单会出现一个覆盖。如果有人点击发布新列表但他们没有登录,我希望fancybox 覆盖再次出现,允许用户登录。
目前,我有几行 php 代码来检查会话是否处于活动状态 - 如果没有,它会重定向到登录页面,我希望这可以激活带有登录表单的幻想框弹出窗口......如果可能的话?
我不确定如何最好地实现这一目标?任何帮助都是极好的!:)
不太清楚如何解释这个最好的方式,但我会试一试!
我有一个使用 Fancybox 的 php 站点。目前,如果有人点击登录,登录表单会出现一个覆盖。如果有人点击发布新列表但他们没有登录,我希望fancybox 覆盖再次出现,允许用户登录。
目前,我有几行 php 代码来检查会话是否处于活动状态 - 如果没有,它会重定向到登录页面,我希望这可以激活带有登录表单的幻想框弹出窗口......如果可能的话?
我不确定如何最好地实现这一目标?任何帮助都是极好的!:)
可以有多种方式来做到这一点。
首先,您如何识别某人已登录?假设我是否可以在 if 条件下这样做:
if(user==null) {
//no login
}
我可以触发LOGIN的锚链接点击,从而再次打开fancybox。
if(user==null) {
$("a#login").trigger('click');
}
希望能给你一些帮助。
除了 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
}
});
});