将值存储在会话变量中,并对其进行检查

storing value in session variable, and checking it

本文关键字:进行检查 变量 存储 会话      更新时间:2023-09-26

>我使用 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>  

我在我的表单提交事件中调用检查会话函数为

<form id="Admin" onreset="checksession()">

问题是,每次重置或提交表单时,即使在页面更改时,也会显示登录表单。为什么它不检查检查会话功能。请告诉我我犯的任何错误

我不确定你的条件在哪里。但是以下代码应该出现在生成灯箱的 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语句应进行比较==而不是分配=