$ _SESSION在获取值之前未设置

时间:2019-02-23 17:31:23

标签: php

用于设置会话消息的代码

if($result === true) {
$session->message('The admin was updated successfully');
// $_SESSION['message'] = 'The admin was updated successfully';
redirect_to(url_for('/staff/admins/show.php?id=' . $id));
  } else {
   // show errors
  }

这是显示会话消息的代码

function display_session_message() {
  global $session;
  $msg = $session->message();
  if(isset($msg) && $msg != '') {
    $session->clear_message();
    return '<div id="message">' . $msg . '</div>';
  }
}

获取会话消息的代码

   public function message($msg="") {
    if (!empty($msg)) {
        $_SESSION['message'] = $msg;
        return true;
    } else {
        return $_SESSION['message'] ?? '';
    }
  }

会话类(也包括在public function message()中)

class Session 
{
     public function __construct() {
         session_start();
         $this->check_stored_login();
  }
     public function clear_message() {
         unset($_SESSION['message']);
  }
}

1 个答案:

答案 0 :(得分:1)

您必须使用:

session_start();

用于会话正常工作的每个文件的顶部