哪种方式从一个页面重定向到另一个页面更可靠?我需要有一个链接,将用户带到空白页面,首先执行一些PHP代码(在后台),然后重定向到目标页面。我想使这个无缝,所以用户不知道他被重定向。我使用javascript,它工作正常,但禁用Javascript它根本无法正常工作。在这种情况下,php重定向会工作吗?可以在执行其他一些PHP代码后使用header()函数吗?所有建议都表示赞赏。
答案 0 :(得分:4)
使用header('Location: '.$URL); die;
从PHP重定向是您可以执行的最可靠的重定向(因为它在HTTP级别工作)。
唯一的问题是,如果您已经生成任何输出,则无法以这种方式重定向。通过简单地思考代码流并进行适当的设计,您可以避免这种情况,但如果推动推动,您可以利用PHP的output buffering功能将其变为现有的代码库(基本示例here )。
答案 1 :(得分:2)
是的,在运行php代码后可以调用头文件,只需确保不输出任何文本。然后发送一个位置标题。
答案 2 :(得分:0)
如果您没有在标头之前发送任何输出,PHP重定向将起作用。但是,很容易注意到你被重定向。
答案 3 :(得分:0)
是的,您可以在重定向之前使用PHP执行代码。只需确保使用正确的HTTP status code来完成工作。 (我假设默认302
是合适的,但你永远不知道。)
此方法将警告客户端机器的重定向,但往往足够无缝,普通用户不会注意到。
答案 4 :(得分:-2)
为什么不使用AJAX来调用处理数据的脚本,然后当AJAX完成后你可以重定向到外部页面?
如果您的第一个脚本都是计算数据并重定向,而不返回任何实际内容,那么强制页面同步加载并显示正常的HTTP请求并不是很重要。我假设你被允许使用JavaScript,因为那是你的问题。