我创建了一个php脚本,查看管理员是否使用php会话登录。如果他们没有登录,脚本会将他们发送回上一个页面,并显示一条错误消息。
$Message = urlencode(" Authentication Timeout: 1");
header("Location: {$_SERVER['HTTP_REFERER']}?Message=".$Message);
在main.php页面上,我有以下代码来检查$消息:
<?php
if(!empty($_REQUEST['Message'])){
echo "<font color='red'>".$_REQUEST['Message']."</font>";}
?>
但是,如果触发此事件,浏览器将显示 ?Message=TEXT
即使在被送回之后。在刷新页面之前,显示在url中的文本不会消失。我注意到的另一件事是,如果您只是在url的末尾添加?message=sometext,那么会触发该页面的消息代码,这是预期的,因为php代码正在搜索?message。
从url中删除文本,但仍然能够显示错误消息的最佳方法是什么?
在此处输入图像描述
2条答案
按热度按时间njthzxwz1#
阅读有关flash消息的信息。通常,这是一种存储消息会话的方法,如果页面加载时存在该会话,则向用户显示该会话并删除该会话。所以即使重新加载后,消息也不会再出现了。
重定向前:
重定向后:
当然你应该做一些isset验证。
qij5mzcb2#
使用会话
在受保护的页面上:
在默认页面上: