我使用javascript函数在灯箱上创建了一个登录表单。现在我想在会话变量上存储一个值,以便检查用户是否已登录,而不是在页面上的导航中反复显示登录灯箱..我的javascript函数是:
<script language="javascript" type="text/javascript">
function createlightbox()
{
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block'
}
function closelightbox()
{
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none'
}
function checksession()
{ if (admin=="admin")
{closelightbox();}
else
{createlightbox();}
}
function check(form)/*function to check userid & password*/
{
/*the following code checkes whether the entered userid and password are matching*/
if(form.name.value == "admin" && form.password.value == "admin")
{
closelightbox();
var admin = <?php $_SESSION['Admin']= 1; ?>
}
else
{
document.getElementById("error").style.display='block';/*displays error message*/
}
}
</script>
我在我的表单中调用checksession函数onsubmit event as
<form id="Admin" onreset="checksession()">
问题是,每次重置或提交表单时,即使页面更改,也会显示登录表单。为什么不检查检查会话功能。 请告诉我我做的任何错误
答案 0 :(得分:1)
我不确定你的条件在哪里。 但是以下代码应该出现在生成灯箱的php脚本中:
<?php echo '<script> var admin ='.$_SESSION['Admin'].'</script>'; ?>
(为了检查上面是否正常,您可以查看您网页的源代码,看看是否有类似的行:<script> var admin =1</script>
)
以下内容应在您访问上面设置的管理变量之前:
<script language="javascript" type="text/javascript">
.... //other code
function checksession()
{ if(admin =="admin")
{closelightbox();}
else
{createlightbox();}
}
....
还要注意if
语句应该比较==
而不是=