2014-03-27 102 views
1

我想在會話過期時重定向到登錄頁面。現在會發生什麼:會話過期時重定向到登錄頁面+ silex

當您例如登錄並在儀表板上時,您會在右上角看到您的用戶名。但是,如果您在2小時左右沒有做任何事情,然後刷新,則會出現無法訪問NULL屬性「用戶名」的錯誤。這是因爲您已註銷...但是當會話過期時,如何重定向到登錄頁面?

我知道我可以增加到期時間,但我不知道我怎麼可以重定向..

回答

6

檢查,如果用戶名在會話

/* NATIVE PHP */ 
if (!isset($_SESSION['username'])) { 
    header('Location: login.php'); 
    exit; 
} 

/* Symfony Syntax - thanks @Touki */ 
if (!$request->getSession()->get('username')) { 
    return new RedirectResponse('login', 301); 
} 
+0

設定而我只是複製粘貼此我總體佈局視圖? – nielsv

+1

只是不。改爲使用symfony的請求抽象。 '$ request-> getSession() - > get('username')''並返回新的RedirectResponse('login',301)' – Touki

+0

你是對的@Touki - 謝謝!我編輯了我的帖子 – MaiKaY

相關問題