Kohana 3.2 - 会话数据库

时间:2011-11-02 11:57:25

标签: session kohana

我使用kohana 3.2并且我遇到了会话数据库的问题,每次我在我的网站中使用Session :: Instance()我都会得到一个新的数据库记录。即使我为它设置了一个新值,会话也根本不起作用

在登录页面

public function action_index()
{
    if ( Session::instance()->get('logged'))
        $this->request->redirect('home');


    $this->response->body(View::factory('pages/login'));

}

在auth功能

public function action_authenticate()
{
    $username = $this->request->post('username');
    $password = $this->request->post('password');

    $user = ORM::factory('user');
    $data = $user->user_login($username, $password);

    if ( $data == $username){


         Session::instance()->set('logged', true);

         $this->request->redirect('home');

    }
    else
    {
        echo "incorrect username or password";
    }

并且在主页中,如果未设置记录,我只需重定向回登录

 function action_index(){

    if (  ! Session::instance()->get('logged'))
        $this->request->redirect('login');


   $this->template->header = View::factory('pages/header')->render();
   $this->template->footer = view::factory('pages/footer')->render();
   $data['sidebar'] = View::factory('pages/sidebar')->render();
   $this->template->content = View::factory('pages/home',$data);

}

在bootstrap.php中我添加了Session :: $ default ='database';所以它默认使用数据库。 如果我删除数据库模式它工作得很好,如果它在那里我得到所有时间3数据库记录,因为我调用Session ::实例3次?

我是kohana的新手。但不是php的新手。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在bootstrap.php中设置Cookie :: $ salt。在bootstrap.php中添加此行。

Cookie::$salt = 'YourSecretCookieSalt';