php - PHP的 Assets 错误回显其他

标签 php loops foreach error-handling

我在表单上有此代码,用户可以在其中更新其详细信息。它可以工作,但是如果用户成功更新一次,然后更新其他人的错误,则会显示错误消息,但成功消息不会消失,这很令人困惑。

有没有办法在if else中使用foreach循环?

    <?php
                    //check for any errors
                    if(isset($error)){
                        foreach($error as $error){
                            echo '<p class="bg-danger">'.$error.'</p>';
                        }
                    }

                    if(isset($_GET['action']) && $_GET['action'] == 'updated'){
                        echo "<p class='bg-success'>Your details have been updated.</p>";
                    }
                    ?>

最佳答案

听起来您的$ _GET ['action']仍设置为已更新。有两种选择:
1.将$ _GET ['action']包裹在else中,这样在出现错误时不会触发,

//check for any errors
if(isset($error)){
    foreach($error as $error){
        echo '<p class="bg-danger">'.$error.'</p>';
    }
} ELSE { // add this!
    if(isset($_GET['action']) && $_GET['action'] == 'updated'){
        echo "<p class='bg-success'>Your details have been updated.</p>";
    }
}

或确保未成功将$ _GET ['action']设置为未更新

关于php - PHP的 Assets 错误回显其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41046651/

相关文章:

foreach - Blade 不显示数据库中的模型值

mysql - 在 MySQL 中选择变量时防止重复

arrays - 使用 if-else 语句遍历数组 (Swift)

javascript - 如何循环或枚举 JavaScript 对象?

c# 异步等待按钮单击

vb.net - vb.net 中的 For 循环中的日期

php - 如何从 $result->fetch_array(); 中选择特定行?

php - 与 PhP 一起使用的 AMP 表单

php - 没有收到来自驱动器的 Webhook 通知,为什么?

php - 仅当我使用 PHP 登录时才能访问该页面