【发布时间】:2022-01-16 08:28:39
【问题描述】:
我对 php 很陌生,我做了一些研究并尝试了某人else's solution,但它对我没有用。我想在执行特定代码后将用户重定向到另一个页面。我意识到没有错误消息,并且站点没有更改。所以我从代码中删除了几乎所有内容并将其放入一个小的 test.php 文件中。 同样的问题仍然存在。
<!DOCTYPE html>
<html>
<body>
<h1>Tes2</h1>
<?php
// Execute some code here
sleep(10); // Give the user 10 seconds to read the output of my code
// redirect the user with php or trigger a JS script to do that
header("Window-target: _parent");
header("Location: https://www.w3schools.com/");
?>
</body>
</html>
期望:页面应该执行主要的 php 脚本(由注释可视化)并触发一个计时器。当计时器结束时,它应该将我重定向到“www.w3schools.com”。应该没有错误或其他消息。如果可能的话,重定向应该由 php 代码完成(JS 可能是解决这个问题的一种方法,但我仍然需要在我的 php 代码执行后启动 JS 代码)。
结果:页面显示并加载了 html 代码。该网站保持不变。没有错误。
环境:在 Chromium 上运行 适用于 Linux Mint(64 位)的版本 96.0.4664.45(Offizieller 构建) 该网站功能正常,并按预期执行 PHP 代码,但不是这个。
是否有一种重量轻且通用(适用于大多数流行浏览器)的解决方案将用户重定向到另一个页面?
【问题讨论】:
-
@NVRM 似乎我对“我想在执行特定代码后将用户重定向到另一个页面”不够清楚。用户完成表单后,我必须执行 php 脚本。之后,我可以重定向页面
-
是的,就是这样。试试看。
-
在您已经输出了一些 HTML 之后,您不能发送 Location 标头(或任何响应标头)。您应该会收到“标头已发送”通知,但您的错误报告级别可能会隐藏它。将 php 代码移动到您的文档类型上方,您的重定向应该可以工作。
-
通常人们会指定他们想要的行为,而不是指定必须如何实现。通常,对他们无法完成的非常具体的实现的请求是 XY 问题的标志。你并没有真正说为什么它必须用 PHP 而不是 JavaScript 来完成,尽管我认为你已经在上面阐明了这一点。但无论如何,我已经向您展示了如何让 PHP 版本立即运行
标签: javascript php web url backend