【问题标题】:Illegal offset type in C:\xampp\htdocs\OOP\classes\session.php on line 10第 10 行 C:\xampp\htdocs\OOP\classes\session.php 中的非法偏移类型
【发布时间】:2015-03-09 06:04:11
【问题描述】:

我的代码如下,第 10 行出现非法偏移错误,如下所示:如果有人能告诉我出了什么问题,我会很高兴。我想不通。我已经检查了所有这些以找出问题所在。

<?php 
       class Session{
      public static function exists($name){
        return (isset($_SESSION[$name]))?true:false; 
     }
     public static function put($name,$value){
        return $_SESSION[$name] = $value;
     }
     public static function get($name){
        return $_SESSION[$name];//This line has illegal offset
     }
     public static function delete($name){
        if(self::exists($name)){
            unset($_SESSION[$name]);
        } 
     }
     public static function flash($name,$string = null){
         if(self::exists($name)){
             $session = self::get($name);
             self::delete($name);
             return $session;
         }else{
             self::put($name,$string);
         }

     }
 }

【问题讨论】:

  • 我认为你应该只传递名称而不是 $name..
  • 尝试传递默认值:public static function get($name = null){... }
  • 你用什么代码来测试这个,@Kwasi?除了 Anant 为您修复的 put() 方法中的问题之外,我不确定我是否能看到问题。

标签: php oop session offset


【解决方案1】:

改变这个

'session' => array(
        'session' => 'user',
        'token_name' => 'token'
        )

有了这个

'session' => array(
    'session_name' => 'user',
    'token_name' => 'token'
    )

在init.php中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2013-03-24
    • 1970-01-01
    相关资源
    最近更新 更多