WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ログイン中のユーザ全員のデータを表示

0:[投稿] toro [2005/09/06 16:08 ][環境:IE6 UNIX,Apache1.3,PHP4,MySQL4]

MySQLでユーザのIDとその人のデータ(写真)をためておいて、
サイトにログインした時、ログイン中のユーザ全員のデータを表示するサイトを作りたいのですが、下の考えで良いのか、またcronなどの設定などでアドバイスをいただけないかと思いまして。
今考えているのは、
・IDと画像のURLのテーブル1を用意しておく。
・ログインしたユーザのIDとセッションIDでテーブル2を作る
・表示用のPHPでテーブル2にあるIDの画像をすべて表示
・ログアウトしたら2からIDを消す。
・cronか何かで、タイムアウトした(有効でない)セッションのユーザIDを2から削除する。

こんな感じです。


1:[回答] andi [URL] [2005/09/06 23:06 ]

取り合えず、まず作ってみて試してみては如何でしょうか。

cronの設定はこちら
http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html


2:[回答] B-Cus [2005/09/06 23:47 ]

考え方としては、最もシンプルできれいなやり方だと思います。

もし、できれば cron を使いたくないとか、プログラムを増やしたくないとか、
テーブルを増やしたくないという要求があるのであれば、

 - ログイン情報テーブルやユーザ管理テーブルにログイン日時・ログアウト日時を設ける。
 - ログインしたときにログイン日時を現在時刻に更新。
 - ログアウトしたときにログイン日時を現在時刻に更新。
 - 表示用の PHP では以下のようにして抽出。
      where ログイン日時>ログアウト日時
        and ログイン日時が 10分以内 (適当な時間)

という実装方法も考えられますし、ログイン中かどうかの判定精度を高めたいのであれば

 - ログイン情報テーブルやユーザ管理テーブルに最終アクセス日時を設ける。
 - ページ遷移するたびに最終アクセス日時を現在時刻に更新。

という方法もあります。

そこらへんはメリット・デメリットを勘案して決めるのがよいでしょう。


3:[完了] toro [2005/09/08 21:32 ]

andiさん、B-Cusさん、

ありがとうございます!
お礼が遅れてすみません^^

基本方針はcronを使う方向で、
精度が必要になればその方法も試しながら作ってみます。

ありがとうございました♪

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World