2017-10-13 37 views
0

运行POST脚本后,我想回到调用它的页面。在脚本结束时,我可以叫这样的导航回:PHP/HTML导航到另一页并显示输出?

header("Location: /url/to/the/other/page"); 

但使用的限制是,我不能输出给用户呼叫前“成功插入数据到数据库”。回到原始页面后,如何显示该通知?

+0

你可以使用javascript来POST到处理db的脚本吗? – StaticBeagle

+0

您可以传递一个参数 –

+0

在重定向之前在'$ SESSION'中设置一个变量。然后在新位置访问 –

回答

1

严格地说,你不能从一个页面重定向,页眉也显示输出。您可以将输出发送到浏览器,也可以发送重定向标题,但不能同时发送。

如果要显示某些内容,请等待几秒钟,然后发送重定向,则需要在JavaScript中使用客户端重定向。事情是这样的:

<html> 
    <head> 
     <script type="text/javascript"> 
      setTimeout(function() { 
       location.href='/newpage.html', 
      }, 5000); 
     </script> 
    <body> 
     successfully inserted data to database. 
    </body> 
</html> 

这将呈现什么在<body>,等待5秒钟,然后在setTimeout()被重定向页面执行的功能。

从技术上讲,事实并非如此.5秒计数器在JS执行后立即开始,无论页面是否完成加载。

如果你想显示你的,而不是重定向到一个中介页面调用在同一页上的通知,那么你应该设置会话值:页面上

$_SESSION['note'] = 'data_saved'; 

然后在那里你要显示的通知:

if (isset($_SESSION['note']) && $_SESSION['note'] == 'data_saved') { 
    echo "successfully inserted data to database.\n"; 
    unset($_SESSION['note']); 
} 

这就要求你在引用$_SESSION任何页面的顶部运行session_start();

+0

以上使用$ _SESSION的示例对我来说非常合适。 – nhershy

相关问题