如何仅在适当的时候显示会话变量?

how to show session variables only when appropriate?

我有一个 php1 页面,可将用户转移到 php2 页面,该页面设置会话变量并将用户转移回 php1 页面。例如(显示错误消息的登录表单) 现在,当我想在 php1 中显示该会话变量时,我尝试了以下操作:

if(isset($_SESSION['messages'])){
  echo($_SESSION['messages']); 
}

问题是即使用户刷新页面,它也会继续显示,因为变量仍然设置。 ps: 我尝试使用onload() 和onunload() 函数取消设置但是没有用,但我不确定我是否做错了。

显示后删除会话变量。

if(isset($_SESSION['messages'])){
    echo($_SESSION['messages']); 
    unset($_SESSION['messages']);
}