我在 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/