使用PRG模式完成此操作的最佳方法。
索引.php
1. 在 HTML 中为模态内容创建元素
<div id=modal></div>
#modal
2. 为您的元素设置样式
#modal {
position: fixed;
display: none; /*important*/
color: white;
text-align: center;
z-index: 1000;
width: 100%;
height: 80px;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
background: crimson;
line-height: 2;
}
3.定义函数如何使用jQuery显示和消失模态框
'use strict'
window.jQuery ?
$.fn.notify = function(interval) {
let el = $(this),
text = el.text(),
modal =()=> { // this will fire after the interval has expired
el.fadeOut(),
clearInterval(timer)
},
timer = setInterval(modal,interval)
!text.match(/\S+/) || el.text('') // this will fire when modal box contains text
.append(`<h3>${text}</h3>`)
.show()
}
: alert('jQuery required.')
4.附加.notify()
到jQuery选择器
$(()=>{
$('#modal').notify(1500) // 1500 is the interval in milliseconds
})
5. 将 PHP 发送的通知插入#modal
元素内部
<div id=modal>
<?=
@$_SESSION["notify"]; // if this variable is not set, nothing will happen
unset($_SESSION["notify"]);
?>
</div>
6. 执行一个简单的$_GET
请求
<a href=parse.php?logout>Logout</a>
解析.php
$_SESSION
7.在变量中使用PHP返回一个值
if (isset($_GET["logout"])) {
$_SESSION["notify"] = "You have been logged out.";
header("Location: index.php");
}
这是一个很好的做法。一旦注销请求发送到 PHP,它将重定向到索引页面,结果在会话变量中。PRG 模式并不总是需要 POST 请求。此示例发送一个 GET 请求,该请求可以用于注销。请注意,您必须将其放在session_start();
文件的顶部。