スレッド表示 | フラット表示〕 全トピック 924 件中 779 番目 次≫ ≪前

セッション変数について

created: 2003-10-24 01:23 | modified: 2003-10-25 22:42 | reply: 4

[810] サンプル

user: hamaji | created: 2003-10-24 02:59
> どちらのページでも同じセッションIDが表示されました。
となるとセッション変数じたいは問題なしですね。

> セッションデータはsession_set_save_handler()を使用してmysqlに保存するようにしているので
>ファイルとしては存在していません。
失礼をば。

> 感じとしてはリンク先ページでstart_session()をしたときにwriteのハンドラが呼ばれているものの引数に値が渡ってきていないような気がします。

参考書にあったのを参考に書いてみました
テーブルの構成とかは当てにしないでください。また、セッションIDをPRIMARY KEY属性と考えてます。
// セッションデータを取得する関数
function SessionRead($key, $dbh) {
$strsql = "SELECT SESSION_DATA FROM T_SESSION";
$strsql .= " WHERE SESSION_ID = '$key'";

$result = mysql_query($strsql, $dbh);
$row = mysql_fetch_assoc($result);
return $row['SESSION_DATA'];
}

// セッションデータを書き込む関数
function SessionWrite($key, $dbh, $value) {
$value = addslashes($value);

// 新規登録用クエリ
$strsql1 = "INSERT INTO T_SESSION VALUES(";
$strsql1 .= "'$key', '$value') ";

// データ更新用クエリ
$strsql2 = "UPDATE T_SESSION SET";
$strsql2 .= " SESSION_DATA = '$value'";
$strsql2 .= " WHERE SESSION_ID = '$key'";

// インサートを試みて、失敗すればデータがすでにあることになるのでアップデートを行う。
if (!$result = mysql_query($strsql1, $dbh)) {
$result = mysql_query($strsql2, $dbh);
}

// データが正しく登録、更新されたか
$affectedrows = mysql_affected_rows($result);
return $affectedrows;
}
あてになるかどうかわかりませんが
参考まで。
Parent: 809  reply: 819 返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 924 件中 779 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑