0

これを最善の方法で説明する方法はよくわかりませんが、試してみます。

Fancyboxを使用するphpサイトがあります。現時点では、誰かが[ログイン]をクリックすると、ログインフォームにオーバーレイが表示されます。誰かがクリックして新しいリストを投稿し、ログインしていない場合は、fancyboxオーバーレイを再度表示して、ユーザーがログインできるようにします。

現時点では、セッションがアクティブかどうかをチェックするphpコードが数行あります。アクティブでない場合は、ログインページにリダイレクトされます。これにより、ログインフォームでファンシーボックスポップアップがアクティブになります...可能であれば?

これを達成するための最善の方法がわかりませんか?どんな助けでも素晴らしいでしょう!:)

4

2 に答える 2

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

これを行うには複数の方法があります。

まず、誰かがログインしていることをどのように識別していますか?if条件でそうすることができるかどうかを仮定します。

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

LOGINのアンカーリンクのクリックをトリガーして、ファンシーボックスをもう一度開くことができます。

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

それがあなたにいくつかの助けを与えることを願っています。

于 2012-11-20T20:34:14.100 に答える