如何登录成功警报仅在登录后触发一次

时间:2014-06-21 15:56:26

标签: php html

<div class="row">
   <div class="small-4 small-centered columns">

        <?php if (isset($_SESSION['user'])) { ?> 

                <div data-alert class="alert-box success radius">

                  Login succesful!

                <a href="#" class="close">&times;</a></div>


         <?php } elseif (isset($_SESSION['login_error'])) { ?>

                <div data-alert class="alert-box alert round">

                  <?php print $_SESSION['login_error']; ?>

                <a href="#" class="close">&times;</a></div>


            <?php } ?>

      </div>
  </div>

当设置$ _Session ['user']时,我希望登录后只有一次“登录成功”消息。如果我刷新页面或点击锚定消息将重新出现,这是预料之中的。如果有人知道更好的方法,或者只有在PHP中才有可能。

2 个答案:

答案 0 :(得分:1)

设置第二个变量,显示用户已导航此部分。如果beenthere为TRUE,您可能必须添加一些关于发送用户的位置的逻辑,但下面的一般想法可以解决您的问题。

<?php if (isset($_SESSION['user'])) { 

                 if(! isset($_SESSION['beenthere') {
                 ?>
                 <div data-alert class="alert-box success radius">

                  Login succesful!
                  <?php $_SESSION['beenthere'] = TRUE;?>

                <a href="#" class="close">&times;</a></div>

答案 1 :(得分:1)

您必须设置一个观察者值,以查看您想要隐藏的值是否有效。这段代码应该有帮助。

<?PHP 
 session_start(); 

 $_SESSION['login_status']=false; 

 ?>

  <div class="small-4 small-centered columns">

      <?php if($_SESSION['login_status']==false){  ?>

              <?php if (isset($_SESSION['user'])) { ?>

                    <div data-alert class="alert-box success radius">
                        Login succesful!
                        <a href="#" class="close">&times;</a>
                    </div>

                    <?php  $_SESSION['login_status']=true;  ?>


            <?php } elseif (isset($_SESSION['login_error'])) { ?>

                  <div data-alert class="alert-box alert round">

                      <?php print $_SESSION['login_error']; ?>

                      <a href="#" class="close">&times;</a>
                  </div>
            <?php } ?>

      <?php } ?>

  </div>