dpjjr42626 2018-08-12 17:20
浏览 216
已采纳

PHP重置页面刷新

I have a login.php file where I submit a form. When the form has validation errors (eg username, password empty) I create with echo ''; a bootstrap well in order to display the errors. My question is when I refresh the page, I want to have the .well not displayed, as when the page first loads. Any idea on how this could be done?

Thanks in advance

   <?php if(count($msg) > 0) {
    echo '<div class="well">'; 
    echo '<p style="color: red;">Validation Errors</p>';
 } ?>
<?php foreach($msg as $value) {
    echo '<ul>';
    echo '<li>';
    echo $value;
    echo '</li></ul>';
} ?>
<?php echo '</div>'; ?>
  • 写回答

2条回答 默认 最新

  • douwo6738 2018-08-12 20:25
    关注

    You can use sessions to identify that a request is done by the same user, specially with the same parameters. When you display the error message you save a marker in the session that you have displayed the error message like this:

    $_SESSION['errorDisplayed'] = true;
    

    Use this variable to see if you have show the error message in a previous request like this:

    if (!isset($_SESSION['errorDisplayed'])) {
        // not shown the error message yet, so do it here (if there are errors)
    
        $_SESSION['errorDisplayed'] = true;
    }
    

    Keep in mind that at some time you have to clear the marker with unset() again so you see any error messages again.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?