我有一个小应用程序,重定向成功的用户登录,还在应用程序初始化它定义自定义会话处理程序。重定向以这种方式完成:sprintf('<html><head><meta http-equiv="refresh" content="%d;url=%s"/></head></html>', $delay, $url);
。自定义会话处理程序和重定向
现在的问题是。如果我以这种方式重定向,它会在那次调用期间到达自定义会话处理程序吗?
我有一个小应用程序,重定向成功的用户登录,还在应用程序初始化它定义自定义会话处理程序。重定向以这种方式完成:sprintf('<html><head><meta http-equiv="refresh" content="%d;url=%s"/></head></html>', $delay, $url);
。自定义会话处理程序和重定向
现在的问题是。如果我以这种方式重定向,它会在那次调用期间到达自定义会话处理程序吗?
你做错了。使用header()
函数来发送一个Location
头,像这样:
<?php header("Location: $url"); ?>
添加所发送的任何输出之前。是的,会议将继续。
不知道你为什么重定向这种方式。
session_start();
// do something
header("Location: some_url_to_redirect");
所以即使我这样做,它应该达到'session_write'处理程序(重定向之前),对吧?那么之前定义的所有对象都应该保留到那时? – Eugene 2012-02-15 08:28:33
该脚本将始终作为一个整体运行。如果你在重定向之后没有'死()',那么任何通过它的东西都会运行并运行。 – 2012-02-15 08:42:17
非常感谢您的帮助。那么问题一定是其他地方。 – Eugene 2012-02-15 08:43:07