1. ホーム
  2. php

[解決済み】PHPのセッションが既に開始されているかどうかを確認する

2022-03-23 20:52:57

質問

セッションが開始されているページから呼び出されることもあれば、セッションが開始されていないページから呼び出されることもあるPHPファイルを持っています。したがって、私が session_start() のエラーメッセージが表示されることがあります。そのため、以下のような行を入れました。

if(!isset($_COOKIE["PHPSESSID"]))
{
  session_start();
}

が、今度はこのような警告メッセージが表示されました。

お知らせ 未定義の変数です。_SESSION

セッションが既に開始されているかどうかを確認する良い方法はありますか?

もし私が @session_start を使えば、警告が出なくなり、正常に動作するようになるのでしょうか?

解決方法は?

のバージョンで推奨される方法 PHP >= 5.4.0 , PHP 7

if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

参考 http://www.php.net/manual/en/function.session-status.php

のバージョンについては PHP 5.4.0

if(session_id() == '') {
    session_start();
}