2012-02-15 91 views
0

我有一個小應用程序,重定向成功的用戶登錄,還在應用程序初始化它定義自定義會話處理程序。重定向以這種方式完成:sprintf('<html><head><meta http-equiv="refresh" content="%d;url=%s"/></head></html>', $delay, $url);自定義會話處理程序和重定向

現在的問題是。如果我以這種方式重定向,它會在那次調用期間到達自定義會話處理程序嗎?

回答

1

你做錯了。使用header()函數來發送一個Location頭,像這樣:

<?php header("Location: $url"); ?> 

添加所發送的任何輸出之前。是的,會議將繼續。

+0

所以即使我這樣做,它應該達到'session_write'處理程序(重定向之前),對吧?那麼之前定義的所有對象都應該保留到那時? – Eugene 2012-02-15 08:28:33

+0

該腳本將始終作爲一個整體運行。如果你在重定向之後沒有'死()',那麼任何通過它的東西都會運行並運行。 – 2012-02-15 08:42:17

+0

非常感謝您的幫助。那麼問題一定是其他地方。 – Eugene 2012-02-15 08:43:07

0

不知道你爲什麼重定向這種方式。

session_start(); 

// do something 

header("Location: some_url_to_redirect"); 
相關問題