我使用引导程序 4。我还使用会话从联系我们表单返回成功消息。在第一次加载时,用户会收到预期的消息;在第二次加载时(即用户刷新页面后),消息按预期消失,但绿色背景成功警报仍然存在。我的问题是:如何消除页面刷新时的绿色警报?
为了简化这一点,请看以下示例。
代码示例:
<?php
session_start();
/*
1st time: $_SESSION["thankyou"] doesn't exist => is set to true
2nd time: $_SESSION["thankyou"] is true => is set to false
3rd time: $_SESSION["thankyou"] is false
4th time: $_SESSION["thankyou"] is still false, etc.
*/
if (isset($_SESSION["thankyou"])) {
if ($_SESSION["thankyou"]) $_SESSION["thankyou"] = false;
}
else {
$_SESSION["thankyou"] = true;
}
?><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
<title>Thank you!</title>
</head>
<body>
<p class="alert alert-success" role="alert">
<?php if ($_SESSION["thankyou"]) echo "Thank you!"; ?>
</p>
</body>
</html>
第 1 步:
如果你第一次运行这段代码,你会得到谢谢!带有绿色警报成功背景,如下所示:
<blockquote class="imgur-embed-pub" lang="en" data-id="023nwHr"><a href="https://imgur.com/023nwHr"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
第 2 步:
如果你第二次运行它(即刷新页面),你会得到一个空白的绿色背景:
<blockquote class="imgur-embed-pub" lang="en" data-id="CuQ1PsQ"><a href="https://imgur.com/CuQ1PsQ"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
我想在页面刷新时(即第一次加载后)隐藏空白的绿色背景并获得空白的白色背景而不是空白的绿色背景。非常感谢任何帮助。
注意:此帖子链接到 previous post。
答案 0 :(得分:1)
因此,如果我理解正确,您希望在 $_SESSION["thankyou"]
断言为 true
时显示消息
如果是这样,那么您可以包装:
<p class="alert alert-success" role="alert">
<?php if ($_SESSION["thankyou"]) echo "Thank you!"; ?>
</p>
在这样的 php if 语句中:
<?php
if($_SESSION["thankyou"])
{
?>
<p class="alert alert-success" role="alert">Thank you!</p>
<?php
}
?>
答案 1 :(得分:1)
绿色背景来自这个元素,因为它的 alert-success
类。
<p class="alert alert-success" role="alert">
<?php if ($_SESSION["thankyou"]) echo "Thank you!"; ?>
</p>
如果您不想要绿色背景,则不会在响应中包含 <p>
元素。换句话说,试试这个:
<?php if ($_SESSION["thankyou"]) echo '<p class="alert alert-success" role="alert">Thank you!</p>'; ?>
编辑:请使用@Total Newbie 的回答。他/她的版本总体上更简洁,更具可扩展性。并修复了引号转义。