投稿者 メッセージ
<  PHPプログラミング  ~  phpを新しくしたら動かなくなりました。
car本
投稿1時間: 日 2月 27, 2005 6:55 pm  引用



登録日: 2005年2月 27日
投稿記事: 3

初めまして。phpを新しくしたら動かなくなりました。皆さんのお力をお借りしたく、
投稿致します。何か分かりましたら宜しくお願い致します。

以前、赤本を見て作ったコードなのですが、バージョンを上げたところelse以降の
判定をしなくなりました。

恐らく、if (!isset($_SESSION["sel"]) || !isset($_REQUEST["mode"]))
の判定が上手く行ってないとは思うのですが・・・

コードは以下の通りです。

if (!isset($_SESSION["sel"]) || !isset($_REQUEST["mode"])) { // はじめての表示?
$_SESSION['sel'] = new myPgSelect; // myPgSelectオブジェクト作成
$_SESSION["meta"] = new myPgMetaData;// myPgmetaDataオブジェクト作成
$mode = "top"; // 初期表示モード設定
} else {
$mode = (isset($_REQUEST["mode"])?$_REQUEST["mode"]:"top");

}

ちなみに、バージョンは、以前、4.2.2で正常に動いていました。現在、
4.3.9にバージョンアップしてからおかしくなってます。

宜しくお願い致します。
トップに移動
ユーザー情報を表示 メッセージを送信
KJ
投稿1時間: 日 2月 27, 2005 8:59 pm  引用



登録日: 2004年11月 12日
投稿記事: 71

エラーメッセージが出ていますか?

あと
print_r や var_dump などで $_SESSION, $_REQUEST を出力してみてください。
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信
car本
投稿1時間: 月 2月 28, 2005 9:49 pm  引用



登録日: 2005年2月 27日
投稿記事: 3

早速、print_r試してみました。
最初、オブジェクトが生成されたときは、$SESSION変数の中に、以下のデータが
入っていました。

Array ( [sel] => mypgselect Object ( [mode_var] => mode [next] => next [prev] => prev [db] => dbconnect Object ( [dbname] => hoken [host] => [port] => [user] => [password] => [con] => Resource id #7 ) [update] => update [delete] => delete [inde] => 1 [indece] => [rowsc] => [maxl] => 10 [usersql] => [sqlc] => [offset] => 0 ) [meta] => mypgmetadata Object ( [mode_var] => mode [exec_select_command] => show [insert_command] => insert [update_command] => update [delete_command] => delete [exec_insert_command] => insertExec [exec_update_command] => updateExec [exec_delete_command] => deleteExec [table_name] => hoken [sort_column] => day [aliases] => Array ( [day] => 日付 [init] => イニシャル [username] => 名前 [car] => 車名 [tnumb] => ナンバ [tantou] => 担当 [shop] => 拠点 [idou] => 異動 [toukyu] => 等級 [kouza] => 口座 [hokenco] => 損保会社 [bikou] => 備考 [syouken] => 証券 ) [db] => dbconnect Object ( [dbname] => hoken [host] => [port] => [user] => [password] => [con] => Resource id #7 ) [is_print_type_name] => [is_print_opr_desc] => [md] => Array ( [0] => Array ( [name] => day [typename] => date [len] => 4 [modifier] => -1 [notnull] => f ) [1] => Array ( [name] => init [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [2] => Array ( [name] => username [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [3] => Array ( [name] => car [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [4] => Array ( [name] => tnumb [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [5] => Array ( [name] => tantou [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [6] => Array ( [name] => shop [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [7] => Array ( [name] => idou [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [8] => Array ( [name] => toukyu [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [9] => Array ( [name] => kouza [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [10] => Array ( [name] => hokenco [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) [11] => Array ( [name] => bikou [typename] => text [len] => -1 [modifier] => -1 [notnull] => f ) ) [table_oid] => 28837 [table_constraints] => [tid] => [hash] => ) )

しかし、再度、
  <a href="{$_SERVER["PHP_SELF"]}?mode=search">
のコードで自分自身を呼び出し、$SESSION変数をprint_rしてみると、
Array ( )
となり、変数の中身が空っぽに成っていました。
また、気になる点として、/tmp/phpにセッションIDが保存されると思うのですが、
/tmp/phpの中は空っぽでした。

何か分かりましたら、宜しくお願い致します。
トップに移動
ユーザー情報を表示 メッセージを送信
car本
投稿1時間: 火 3月 01, 2005 7:58 pm  引用



登録日: 2005年2月 27日
投稿記事: 3

原因が判明しました。php.iniの設定で、

session.save_path = /tmp/php

があるのですが、この指定ディレクトリー(/tmp/php)のパミッションが、
rwx... ...であったため、セッションを書き込めませんでした。
お騒がせ致しました。また、 kコさん、ヒントを頂き大変ありがとうございました。
トップに移動
ユーザー情報を表示 メッセージを送信
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.