再度質問。。。
前回ご協力いただきましたユーザー様、誠にありがとうございます。
色々ためした結果、思うように動作できなかったので、
再度自分の頭をリセットする意味で質問させていただきます。
###現在の各ページのコード
↓各ページの冒頭記述↓
<?php require 'password.php'; session_start(); // ログイン状態のチェック if (!isset($_SESSION["USERID"])) { header("Location: logout.php"); exit; } ?> ※※※※ ここからhtmlコード
###ログアウトphpコード
<?php session_start(); if (isset($_SESSION["USERID"])) { $errorMessage = "ログアウトしました。"; }else{ $errorMessage = "ログイン情報を確認し、ログインしてください。"; } session_destroy(); ?> ※※※※ ここからhtmlコード
###補足事項
php.iniファイルはあるが、特に設定はしておりません。
→設定していない理由は、現在wordpressを使用して自社サイトを持っており、
wordpressもログイン画面があるが、一定操作が行われなかったら自動ログアウトになるため、
php.iniファイルは特に触っておりません。
むしろ、php.iniはあまり関係ない?と思っております。
php.iniを設定しなくても自動ログアウトコードは作れるのでは?と感じています。
上記記述しているphpコード(ログイン画面等)はwordpressとは関係ない別ディレクトリに作成しています。
→理由としては、wordpressに影響しない完全なるシステムページを作るため。
###できなかったこと
ini_set( 'session.gc_maxlifetime', 60 ); // 秒(デフォルト:1440)
の時間設定を行っても、自動ログアウトなりませんでした。
また、試しにphp.iniにも「session.gc_maxlifetime」を設定してもうまく動作できず。
さらに、今現在はissetの中を「$_SESSION["USERID"]」に設定しておりますが、$_SESSION['LOGIN_INFO']にすると、
<p>ようこそ<?=htmlspecialchars($_SESSION["USERID"], ENT_QUOTES); ?>さん</p>
のUSERIDが表示もされず「ようこそさん」になります。
###質問したいこと
①上記を踏まえてphp.iniの設定は必要なのか?
②時間設定の仕方は間違っているのか?
②-1.時間設定はクッキー?セッション?両方を削除しないと動作されない仕様なのか?
③むしろif分岐がそもそも間違って動作されているのか?
セッション及びクッキーの設定がいまいち理解できていないので、教えていただきたいです。
長文になりましたが、ご教授願います。
どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー