PHP 刷新时重置页面
PHP reset page on refresh
我有一个 login.php 文件,我可以在其中提交表格。当表单出现验证错误(例如用户名、密码为空)时,我使用 echo ''; 创建
a bootstrap 井以显示错误。我的问题是,当我刷新页面时,我希望 .well 不显示,就像页面首次加载时一样。
知道如何做到这一点吗?
提前致谢
<?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>'; ?>
您可以保留一个新变量,例如 $hasError
,每当出现验证错误时,您都可以将此变量设置为 true
。然后,在你的输出中,当 $hasError
为假时,你只打印 .well
class 像这样:
<div class="<?=(!$hasError) ? '.well' : '';?>">YOUR MESSAGE HERE!</div>
您可以使用会话来识别请求是由同一用户完成的,特别是具有相同参数的请求。当您显示错误消息时,您在会话中保存了一个标记,表明您已显示错误消息,如下所示:
$_SESSION['errorDisplayed'] = true;
使用这个变量来查看您是否在之前的请求中显示了这样的错误消息:
if (!isset($_SESSION['errorDisplayed'])) {
// not shown the error message yet, so do it here (if there are errors)
$_SESSION['errorDisplayed'] = true;
}
请记住,有时您必须再次使用 unset()
清除标记,这样您才能再次看到任何错误消息。
我有一个 login.php 文件,我可以在其中提交表格。当表单出现验证错误(例如用户名、密码为空)时,我使用 echo ''; 创建 a bootstrap 井以显示错误。我的问题是,当我刷新页面时,我希望 .well 不显示,就像页面首次加载时一样。 知道如何做到这一点吗?
提前致谢
<?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>'; ?>
您可以保留一个新变量,例如 $hasError
,每当出现验证错误时,您都可以将此变量设置为 true
。然后,在你的输出中,当 $hasError
为假时,你只打印 .well
class 像这样:
<div class="<?=(!$hasError) ? '.well' : '';?>">YOUR MESSAGE HERE!</div>
您可以使用会话来识别请求是由同一用户完成的,特别是具有相同参数的请求。当您显示错误消息时,您在会话中保存了一个标记,表明您已显示错误消息,如下所示:
$_SESSION['errorDisplayed'] = true;
使用这个变量来查看您是否在之前的请求中显示了这样的错误消息:
if (!isset($_SESSION['errorDisplayed'])) {
// not shown the error message yet, so do it here (if there are errors)
$_SESSION['errorDisplayed'] = true;
}
请记住,有时您必须再次使用 unset()
清除标记,这样您才能再次看到任何错误消息。