2012-02-15 59 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"); 
相关问题