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