2010-12-29 5 views
0

jqueryで何かしたい、ユーザーが何かに投票したい、ログインしていない、または登録されていない場合、オレンジ色のポップアップが現れたときに、stackoverflowのような何かをするように促します。あなたがjqueryとセッションでどのように働いているのだろうか?私はちょうど正しい方向へのプッシュが欲しい! :))jqueryを使用してサインアップするようユーザーに促しますか?

+0

JavaScriptにセッションがありません。クッキーを使用することはできますが、その中のデータは安全ではありません(誰でも編集できます)。実際のサーバー側セッションが必要になります。 – jwueller

答えて

0

あなたの設定がわからないと(つまり、フレームワークなどを使用している場合)、最良の回答を得るのは難しいです。セッションが設定されている場合

  1. チェックをして
  2. それがある場合は
  3. 、javascriptのポップアップを起動します。しかし、一般的に、あなただけの次の操作を行う必要があるだろう。

ログインセッション情報が「ユーザ名」と呼ばれるスロットに格納されて、あなたはどうなると仮定:

if (!isset($_SESSION['username'])) { 
    print(" 
     <script type type=\"text/javascript\"> 
     alert('Please login first.'); 
     </script> 
    "); 
} 

私は物事をより魅力的に見えるようにするための素晴らしい方法をjQuery UIに探してお勧めします。

0

セッションはサーバー上で管理され、jQueryとは関係ありません。

jQueryを使用してログイン画面用のすばらしいモーダルダイアログを作成できますが、これは単なるファンシーなHTMLです。

2

ユーザーがログインしているかどうかを示すコードにjavascript変数を設定する必要があります。これは、バックエンドセッションまたは設定したブラウザクッキーから行うことができます。あなたは確かにこれがログインされていない場合に投票に対抗する唯一の措置であるとは思わない。それもサーバー上で確認してください。

<script type="text/javascript"> 
    var userLoggedIn = <?php =$_SESSION['logged_in']; ?> 
</script> 

$_SESSION['logged_in']trueまたはfalseのいずれかに設定する必要があります:あなたはセッションを使用したい場合は

することは、あなたはこのような何かを行うことができます。次に、ユーザーがアクションを実行するたびにその変数(userLoggedIn)をチェックするだけです。上記のようにサーバー側でも確認してください。

SOはこの方法を使用しているようです。コードを見ると、私が現在ログインしていることを意味するvar isRegistered = trueという行があります。

ログインすることができない場合は投票機能をすべて削除し、あります。これはログインしていないユーザーの読み込み時間を節約します。

関連する問題