我正在尝试创建一个PHP方法/函数/属性,我可以用JS调用该方法/函数/属性来向用户显示一条消息,例如“无效用户登录”,该消息将在显示后重置。
到目前为止,我有以下问题:当用户转到下一页时,或者重新加载消息时,我希望将其设置为null;
<script>
window.setTimeout(displayErrorMessage(), 2000);
function displayErrorMessage(){
if(!displayErrorMessage.called)
{
var errorMessage = ("<?php echo "ERROR: ".$_SESSION['error'] ?>");
document.getElementById('errormessage').innerHTML = errorMessage;
resetErrorMessage();
}
displayErrorMessage.called = true;
}
function resetErrorMessage()
{
var errorMessage = null;
setTimeout(function()
{
document.getElementById('errormessage').innerHTML = "";
}, 5000);
}
</script>
发布于 2014-10-14 13:50:32
显示后尝试删除会话变量。
<script>
<?php if(isset($_SESSION['error'])) { ?>
window.setTimeout(displayErrorMessage(), 2000);
function displayErrorMessage(){
if(!displayErrorMessage.called) {
var errorMessage = ('<?php echo "ERROR: ".$_SESSION['error']; ?>');
// Here is where you remove the error so it won't persist to the
// next pages when user continues to navigate through
<?php if(isset($_SESSION['error'])) unset($_SESSION['error']); ?>
document.getElementById('errormessage').innerHTML = errorMessage;
resetErrorMessage();
}
displayErrorMessage.called = true;
}
<?php } ?>
function resetErrorMessage() {
var errorMessage = null;
setTimeout(function(){
document.getElementById('errormessage').innerHTML = "";
}, 5000);
}
</script>
发布于 2014-10-15 06:33:35
试试这个:
<?php if( isset($_SESSION['error']) ) : ?>
<script>
window.setTimeout(displayErrorMessage(), 2000);
function displayErrorMessage()
{
if(!displayErrorMessage.called)
{
var errorMessage = ("<?php echo "ERROR: ".$_SESSION['error'] ?>");
document.getElementById('errormessage').innerHTML = errorMessage;
resetErrorMessage();
}
displayErrorMessage.called = true;
}
function resetErrorMessage()
{
var errorMessage = null;
setTimeout(function() {
document.getElementById('errormessage').innerHTML = "";
}, 5000);
}
</script>
<?php endif; ?>
<?php
unset($_SESSION['error']);
?>
https://stackoverflow.com/questions/26370690
复制