在页面加载时从一个页面转发到另一个页面时在网页中显示警报消息

时间:2010-04-11 21:15:39

标签: php javascript html redirect

我在php中创建了一个html页面,在提交后我使用PHP验证该页面。验证后我想显示一个警告信息,以显示其状态,如显示任何问候语或重新输入的请求。

我没有验证。现在我正在使用

header( 'Location: http://localhost/assignment/WebForm.htm' ) ;

将用户重定向到同一页面但在页面加载时带有警告消息或类似的东西。我需要做什么?

3 个答案:

答案 0 :(得分:3)

当您使用header时,您无法在文档正文中输出任何内容,从而无法进行任何alert()

实现此目的的常用技巧是将alert()委托给目标页面:

header( 'Location: http://localhost/assignment/WebForm.htm?alert='.
        urlencode("Hello!")) ;

然后在WebForm.htm中:

 <?php if (isset($_GET["alert"])): ?>
 <script type="text/javascript">
 alert("<?php echo htmlentities(urldecode($_GET["alert"])); ?>");
 </script>
 <?php endif; ?>
输出消息时,只需记住htmlentities()输出。

如果您已经在使用会话,对于100%安全性和优雅的URL,您还可以使用rand在PHP中生成随机密钥,将消息存储在$_SESSION["message_$randomKey"]中并在GET中传递密钥请求。这样,用户在URL中看到的唯一内容就是密钥,而不是消息。

答案 1 :(得分:0)

您需要在其他页面中使用Javascript显示提醒。

您可能希望在查询字符串中传递警报文本。

答案 2 :(得分:0)

您必须为此使用全局变量 $ _ SESSION -

- Use Session to store message
- Redirect user
- Fetch Session value & display it
- unset the Session