【问题标题】:Unsetting session in PHP在 PHP 中取消会话
【发布时间】:2018-05-25 06:11:43
【问题描述】:

我有一个用于将记录插入数据库的表单,如果一切顺利,将用户重定向到索引页面,并带有关于操作成功或失败的消息(实际上是通过会话设置的)。

现在,我可以在 add_book.php 中设置会话并在 index.php 中显示消息,但重新加载页面后消息仍然存在而不会消失。

在 add_book.php 中。我有这个

$_SESSION['insert'] = "Record inserted into the database";
                        session_regenerate_id();
                        session_write_close();
                        echo '...succesfully add new book...';
                        header("Location: index.php");
                        exit();  

在 index.php 中,我有这个

<?php if(isset($_SESSION['insert'])){
?>
<p class="update"><?php echo $_SESSION['insert'];?></p>
<?php
}//end of isset $_SESSION['insert']
?>

【问题讨论】:

  • session_start() 也许?
  • 您是否尝试过取消设置会话?
  • 那么,您究竟在做什么来删除会话中的消息?它不会自行消失。
  • 会话已经开始
  • @Manikiran 解决方案不能解决您的问题吗?

标签: php session session-cookies session-state


【解决方案1】:

显示后尝试删除会话:

<?php if(isset($_SESSION['insert'])){
?>
<p class="update"><?php echo $_SESSION['insert'];?></p>
<?php
unset($_SESSION['insert']);
}//end of isset $_SESSION['insert']
?>

【讨论】:

    【解决方案2】:

    尝试删除会话变量的内容

     <p class="update"><?php echo $_SESSION['insert']; $_SESSION['insert'] = "";?></p>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 2016-10-01
      • 2013-02-17
      • 2015-10-08
      • 2014-02-20
      • 2011-12-04
      相关资源
      最近更新 更多