現在、会員制グループサイトを構築中です。
【サイト構成】
●TOPページより新規会員登録
●TOPページで個人ログイン→個人専用ページへ
●個人専用ページで新規グループ登録
●個人専用ページでグループログイン→グループページへ
●グループページでグループログアウト→個人ページへ
●グループページOR個人ページで個人ログアウト→TOPページへ
*****************************質問内容******************************
TOPページから個人ログイン後グループログインする際に、現在グループ
ページに現在何人ログインしているかの情報を表示させたいのですが、上
手くいきません。何か良い方法はありませんか?
*******************************************************************
【表示例】
現在、○○(グループ名)には5人入っています!
【構築環境・言語】
●Apache、MySQL、PHP、HTML、JavaScript
【現在の仕様】
・テーブル
●会員用テーブル(個人ID、パスワード、個人情報・・・)
●グループ用テーブル(グループID、グループパスワード、グループ情報)
●メンバーテーブル(グループID、個人ID、Flag(0:In 1:Out))
*グループIDと個人IDが複合キー
【グループ仕様】
●グループは複数作成、複数所属できる
●グループページにはログインした1つのグループのみの情報を保持
●複数のグループページに入ることはできない
【プログラム】
●グループログインした際に、メンバーテーブルの該当行のFlagを0にする
●グループページでグループログアウトOR個人ログアウト(ボタン)した際に、メンバーテーブルの該当行Flagを1にする
●ページ共通変数・・・$_SESSION['kojinId']
●グループ共通変数・・・$_SESSION['groupId']
●グループログイン・ログアウトの度に$_SESSION['groupId']を更新
●個人ページにログイン後、自分が所属しているグループのメンバーテーブルを参照し、Flagが0の行をカウントする
・問題点
●グループログインしている際に、ログアウト処理を行わないままブラウザを閉じると、メンバーテーブルのFlagが1に更新されない
●ブラウザを閉じたことがわかれば、自動ログアウトさせてDBを更新できるが、閉じたかどうかの情報を知ることができない
簡単な説明でわかりづらいかもしれませんが、ご回答を宜しくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>> ●メンバーテーブル(グループID、個人ID、Flag(0:In 1:Out))
上記テーブルに、訪問時間のタイムスタンプフィールドを追加します
Flagはあてになりませんので、
ログイン時と有効なセッションを持つクライアントからのアクセス毎に
セッションの更新と最終訪問時間を更新しましょう
接続者数をカウントするときは、Flag=0かつ最終訪問時間から一定時間(5分とか15分)の者だけを数えればよいです。
その場合の一定時間をセッションの有効時間と合わせておけばユーザも強制ログアウトされたことを認識させられます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- ホームページ作成・プログラミング ログインしないとみることができないWebページの作成方法 3 2023/07/29 13:33
- 友達・仲間 Aグループで話題の会話に参加したら、会話が止まり 会話に参加せず話を聞いてたら、いない人として扱われ 1 2023/05/10 19:17
- LINE LINEグループの一人と別のやり取りがしたい 5 2022/05/26 16:00
- Excel(エクセル) 指定した数字まで累計する方法や文字例の抽出について教えてください 4 2022/10/05 21:19
- MySQL [1000地域 × 10カテゴリー = 1万件のテーブル]!グループ化? 1 2023/06/14 23:56
- Facebook facebookグループでの宣伝について 1 2022/06/13 17:52
- X(旧Twitter) 複数人に同じ内容のDM 1 2022/05/06 13:31
- Excel(エクセル) Excel 在庫管理について 3 2023/02/09 10:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPからWindowsログインユーザ...
-
VB6.0でIEをコントロールする
-
VBAでHTTPログイン
-
vbaでログインできない 手動だ...
-
会員サイト内グループページの...
-
vba ie操作 ログインしたい
-
DFDの書き方について
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
Media Player のスクリーンショ...
-
CheckBoxをボタン形式にして押...
-
DataGridViewのチェックボック...
-
c# 文字列の最後から1文字削除...
-
ACCESS2010 WEBブラウザーコン...
-
Eclipseでクリーンが出来ない
-
ASP.Net 条件により自身を閉じ...
-
VBAで特定のテキストボックスを...
-
HTMLボタンの文字色を変え...
-
getParameterで値が取得できず...
-
ASP.NetのGridViewで任意の行ク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPからWindowsログインユーザ...
-
VBAでHTTPログイン
-
セッション管理について(同時...
-
戻るボタンで、ログイン中を維...
-
フォーム認証でのパスワードロック
-
ログインフラグがわかりません。
-
特定の端末からのみWebシステム...
-
ユーザー環境変数の一覧
-
【php】会員登録ログイン時シス...
-
PWを入れると別のページに飛ん...
-
ASP.NET MVC 最初からあるログ...
-
PHPで作成するログイン画面の作...
-
MAC版DW8 ログインパスワードの...
-
セレニウムで自動ログインする方法
-
ログイン履歴
-
複数のヤフーIDの画面ウィンド...
-
ログイン状態が切れないように...
-
PHPでログイン機能実装
-
Windows認証でDBにアクセスでき...
-
DFDの書き方について
おすすめ情報