質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

743閲覧

会員サイトの別タブのログイン探知方法

azrre

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/08/07 04:50

編集2021/08/07 04:52

会員サイトをPHPで作成しています
2つタブを開いて二つのタブがそれぞれ別IDでログアウト→ログインした場合に、
探知して新しいIDでログインした前のログインしているタブをログアウトさせたい場合、
一般的にはどのような処理をするのでしょうか?

つまりタブがいくつあっても1つのIDしか使えない状態にしたいです
JavaScriptで開いてるドメインのタブ数の探知や、
PHPのセッション管理あたりになると思うのですが詳しい方教えてください

※タブはセッションが共有されると思うので1番間近にログインしたものに合わせて古いタブはログアウトさせたい

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どのようにするというよりも、元々ログイン機能が正しく構築されていれば意識せずとも、正しい処理なるように思います。

通常、PHPのセッション管理で行う部分だと思います。

どのようにログイン情報を管理しているかによりますが
例えばアカウントIDにabがあった場合に、タブ1とタブ2を開いたとします。

タブ1でaのID、パスワードを入力します。
パスワードが合っていれば、$_SESSION['login_id'] = 'a'とし、アカウントaでログイン状態とします。

次にタブ2でbのID、パスワードを入力します。
パスワードが合っていれば、$_SESSION['login_id'] = 'b'と上書きし、アカウントbでログイン状態とします。

これでaはログアウト状態になりますので、要件は満たされていると思います。

この状態ならば、例えば各ユーザーが投稿できる機能があったとして、もしタブ1にaの投稿がまだ表示中で、投稿の「削除」ボタンを押したとしても、
通常phpで、削除処理時に$_SESSION['login_id']===$post_login_idのようにログイン中のアカウントIDとその投稿のアカウントIDが同じかを判定する処理を入れているはずなので、正しく削除失敗となります。

投稿2021/08/07 06:48

編集2021/08/07 06:56
webgoto

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問