、ログインページに遷移しますが、php.logに 「...
「1) mypage.php(ここでログアウトボタンをクリック)」->「2) logout.php (画面表示はなく処理のみ)」->「3) login.php」の順でファイルを遷移しています。
ご質問内容の「デバック:ログイン期限日時タイムスタンプが表示されない」件については、function.phpのdebugLogStart()コード内の、『セッション内の「login_date」、「login_limit」が両方とも空ではない場合にのみ「デバック:ログイン期限日時」タイムスタンプを書き出す』条件分け処理が該当箇所となります。
そのため、2)logout.phpでsession_destroy();を行いセッションを空にして3)login.phpに遷移した状態では、上記のログが書き出されないのが正常です。
なお、print_r($_SESSION)でセッション内容を表示している『セッション変数情報:』ログでも、セッションの中身を確認できます。念の為私の環境でログを取りましたので、参考としてセッションの中身と表示ログを追ってみてください。(※文字数制限の関係で一部省略しています)
1)mypage.php
「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
[22-Oct-2019 10:44:13 Asia/Tokyo] デバッグ:「 マイページ
[22-Oct-2019 10:44:13 Asia/Tokyo] デバッグ:「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
〜〜〜省略
[22-Oct-2019 10:44:13 Asia/Tokyo] デバッグ:セッション変数情報:Array
(
[login_date] => 1571708653
[login_limit] => 3600
[user_id] => 19
)
// ログイン期限日時タイムスタンプ表示される
[22-Oct-2019 10:44:13 Asia/Tokyo] デバッグ:現在日時タイムスタンプ:1571708653
[22-Oct-2019 10:44:13 Asia/Tokyo] デバッグ:ログイン期限日時タイムスタンプ:1571712253
〜〜省略
2)logout.php
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「 ログアウトページ
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
〜〜省略
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:セッション変数情報:Array
(
[login_date] => 1571708653
[login_limit] => 3600
[user_id] => 19
)
// セッションが空でないので、この時点でもログイン期限日時タイムスタンプは表示されている
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:現在日時タイムスタンプ:1571709452
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:ログイン期限日時タイムスタンプ:1571712253
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:ログアウトします。
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:ログインページへ遷移します。
3)login.php
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「 ログインページ
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「
〜〜省略
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:セッションID:vidl1dlonepp4iq6eq2u8riula
// セッションはあるが中身が空なので、ログイン期限日時タイムスタンプは表示されない
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:セッション変数情報!:Array
(
)
[22-Oct-2019 10:57:32 Asia/Tokyo] デバッグ:現在日時タイムスタンプ:1571709452
〜〜省略
部活の学習一覧
Lesson 01
「WEBサービスと必要な機能」
Lesson 02
「画面を設計しよう!」
Lesson 03
「テーブルを設計しよう!part1」
Lesson 04
「テーブルを設計しよう!part2」
Lesson 05
「テーブルを設計しよう!part3」
Lesson 06
「DB作成」
Lesson 07
「画面を作ろう!」
Lesson 08
「画面を作ろう!part2」
Lesson 09
「ユーザー登録機能を作ろう!」
Lesson 10
「ユーザー登録機能を作ろう!part2」
コーヒーブレイク
「投資の小話」
Lesson 11
「ログイン機能を作ろう!」
Lesson 12
「ログアウト機能を作ろう!」
Lesson 13
「退会機能を作ろう!」
Lesson 14
「プロフィール編集機能を作ろう!」
コーヒーブレイク
「書いて書いて書きまくれ!」
Lesson 15
「パスワード変更機能を作ろう!」
Lesson 16
「パスワードリマインダー機能を作ろう!」
Lesson 17
「商品登録機能を作ろう!」
Lesson 18
「商品登録機能を作ろう!part2」
Lesson 19
「商品登録機能を作ろう!part3」
Lesson 20
「商品一覧表示機能を作ろう!」
Lesson 21
「商品詳細画面を作ろう!」
Lesson 22
「商品検索機能を作ろう!」
Lesson 23
「連絡掲示板機能を作ろう!」
Lesson 24
「お気に入り機能を作ろう!」
Lesson 25
「マイページ機能を作ろう!」
コーヒーブレイク
「はたらくプログラミング 第5話」
ご意見箱
<やったこと>
該当する変数の前にvar_dump();を入れ,何が入っているのか調べました。
function.php44行目
debug('現在日時タイムスタンプ:'.time());
var_dump($_SESSION);
if(!empty($_SESSION['login_date']) && !empty($_SESSION['login_limit'])){
debug( 'ログイン期限日時タイムスタンプ:'.( $_SESSION['login_date'] + $_SESSION['login_limit'] ) );
}
その結果
array (size=3)
'login_date' => int 1571541171
'login_limit' => int 3600
'user_id' => string '22' (length=2)
となります。login_date login_limit ともに入っているため、ログイン期限日時はphp.logにデバックされるはずと思いましたが、デバックされません。
また、ログイン、ログアウトするとphpMyAdminの
login_time
create_time
update_time
は更新されるものと思いますが、ユーザー登録した時のままの時間になっています。これが関係しているのでしょうか?
よろしくお願いします。