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

标签 php javascript html redirect

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

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

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

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

最佳答案

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

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

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()输出。

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

关于php - 在页面加载时从一个页面转发到另一个页面时在网页中显示警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2618739/

相关文章:

javascript - 根据表单选择添加表单字段

php - 如何防止使用 foreach 插入多行的 SQL 注入(inject)?

php - 具有 Postgres 数据库连接的 Joomla 3.4 组件

javascript - 构建自己的过滤器回调函数

Javascript 表单无法在 Internet Explorer 上按预期提交

javascript - 获取表格行元素的每个子td的输入html标签的id、Name、Type、Value和文本

php - PHP 7 中的 "Allocation of JIT memory failed, PCRE JIT will be disabled"警告

javascript - 如何渲染没有数据的部分

html - 两个图像之间的文本?

java - 等待 JavaScript 光标