我使用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的新手。
感谢您的帮助
答案 0 :(得分:0)
在bootstrap.php中设置Cookie :: $ salt。在bootstrap.php中添加此行。
Cookie::$salt = 'YourSecretCookieSalt';