[PHP-users 13696] Re: セッションID の取得

Tybalt of Capulet php-users@php.gr.jp
Tue, 04 Mar 2003 01:37:12 +0900


神崎です。

> もちろんそれで取り出せのでしょうけど,セッション処理関数を使っているの
> なら,session_set_save_handlerを使うんでしょうねえ.

そうです。session_set_save_handlerを使っています。

> でも,それを使っているんだったら,こういう質問はでないような気もするか
> らどうなのでしょう?

何か私が根本的な間違いをしている気がします。
セッションの書き込みは、

$row = mysql_select_db($dbname,$con) or die(mysql_error());
$result = mysql_query("REPLACE INTO ses_tbl (id,sesid) VALUES ('$id','$sess_data')",$con) or die(mysql_error());

if($result){
  return(true);
}else{
  return(false);
}

また、読み込みは

$row = mysql_select_db($dbname,$con) or die(mysql_error());
$result = mysql_query("SELECT id,sesid FROM ses_tbl WHERE id = '$id'", $con) or die(mysql_error());

if(mysql_num_rows($result) == 0) {
  return("");
}

$row = mysql_fetch_array($result);
mysql_free_result($result);

return($row["sesid"]);

このような感じです。

またテーブル構造は下記のようになっています。

create table ses_tbl (
id VARCHAR(255) NOT NULL,
sid VARCHAR(255),
inputday TIMESTAMP,
primary key (id)
)

このidにセッションIDが保存されるようになっています。
sidにはセッションが確立したあと、各セッション変数の
変数名と値が入るようになっています。
今割り当てられているセッションIDをどうにかして
知りたいのですがどのようにすればよいのでしょうか?
うまく書けなくてすいませんが、おわかりの方教えていただけないでしょうか?