2011-07-11 8 views
0

パスワード保護されたWebサイト(ajax-php-jqueryログインシステム)では、fadeIn/fadeOutアラートによって、ユーザーがログアウトしたばかりのことが確認されます。ユーザーはログインページに戻り、私はdocument.referrerを実行して、彼がサイトのページから来ているかどうかを確認します(もしそうなら、彼がただログアウトしてメッセージを表示できることを意味します)。しかし、もちろん、ユーザーがページを更新すると、彼は再び通知を受けるでしょう。ログインページに一度だけログアウト通知を表示

私はdocument.referrerを変更しようとしていましたが、プロパティは読み取り専用です。ユーザーがログアウトした場合、どのようにメッセージを表示することができますか?

あなたがPHPで、条件付きを行うことができ
+0

あなたが話しているパターンは、一般的に「フラッシュ通知」と呼ばれています.Googleではその実装方法に関する多くのアイデアが見つかるはずです。 –

答えて

1

if(isset($_SESSION['justLoggedOut'])){ 
    print '<script type="text/javascript"> ..notification code.. </script>'; 
    unset($_SESSION['justLoggedOut']); 
} 

あなただけの認証されたエリア内からのセッションを設定する必要があります(またはインデックスページにリダイレクトログアウトページ[私はと仮定しています。])

+0

通常、この形式は、メッセージの配列を反復し、表示されるときに項目を設定解除するように拡張されています。 – zzzzBov

+0

私はこれを試して、ユーザーが次のようにログアウトしたときにセッションを正常に作成しました: 'session_name( 'justLoggedOut'); session_start(); '上記のコードを使用しましたが、javascriptは表示されず、セッションが残ります。私は何を間違えたのですか? – user495915

+0

これを試してください: '$ _SESSION ['justLoggedOut'] = true;' – wanovak

0

クッキーを使用すると、最も簡単なルートになります。ログアウト時にクッキーを追加し、通知が表示された後にクッキーを削除するだけです。このCookieには、ログアウトに関する情報がすべて含まれている可能性があります。ログアウトした時刻とログアウトを開始したURL。

もちろん、お客様のクライアントがお客様のサイトでCookieを許可していることを前提としています。サーバー側の選択肢は、セッションデータを使用することです。通知は、AJAXコールをサーバーに送り返して、通知を表示する必要があることを示すインジケータをクリアします。

関連する問題