【问题标题】:class session Warning session_start() in php 5.4 [duplicate]php 5.4 中的类会话警告 session_start() [重复]
【发布时间】:2014-10-29 11:58:37
【问题描述】:

我的文件中有发行者 php get in index.php 消息 警告:session_start():无法发送会话缓存限制器 - 标头已发送(输出开始于 /Users/[username]/Sites/application/Core/users.php:3)在 /Users/[username]/Sites/application/第 20 行的 core/session.php

<?php
// A class to help work with Sessions
// In our case, primarily to manage logging users in and out

// Keep in mind when working with sessions that it is generally 
// inadvisable to store DB-related objects in sessions


require_once('includes/initialize.php');

class Session{


    private $logged_in=false;
    public $id;


    function __construct() {
        //@ob_start();
        session_start();
        $this->check_login();

        if($this->logged_in) {

        }else{

        }


    }


    public function is_logged_in() {
       return $this->logged_in;
     }

    public function login($username) {
     // database should find user based on username/password
         if($username){
           $this->id = $_SESSION['id'] = $username->id;
           $this->logged_in = true;
         }
    }


    public function logout() {
      unset($_SESSION['id']);
      unset($this->id);
      $this->logged_in = false;
    }



    private function check_login() {
        if(isset($_SESSION['id'])) {
          $this->id = $_SESSION['id'];
          $this->logged_in = true;
        } else {
          unset($this->id);
          $this->logged_in = false;
        }
    }
}

$session = new Session();

?>

【问题讨论】:

  • 检查/Users/[username]/Sites/application/Core/users.php:3 是否在呼应任何东西?甚至&lt;?php ... ?&gt; 之外的空格也被视为输出

标签: php class session


【解决方案1】:

session_start(); 必须在其他任何事情之前调用。您需要将其从构造函数中取出并将其放在 require_once 语句之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 2013-06-11
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    相关资源
    最近更新 更多