2017-04-07 78 views
0

我有一个PHP页面,其中有用于登录和注册的按钮。但我的网页中的问题是,当我注销按钮没有重定向到注销的PHP页面以取消设置并销毁会话变量。注销按钮来取消设置并销毁SESSION变量不起作用

我在这里提供该页面的代码,以便有人可以帮助我纠正错误。

<div class="wrapper row1"> 
<header id="header" class="clear"> 
    <!-- THE BANNER --> 
    <div id="logo" class="fl_left"> 
     <a href="index.php"> <img src="images\logo.jpg"></a>    
    </div> 
    <div class="fl_right"> 
     <ul class="inline"> 
      <li><i class="fa fa-phone"></i> +91 1234567890 </li> 
      <li><i class="fa fa-envelope"></i> [email protected] </li> 
      <?php if(isset($_SESSION['email'])) 
      { 
      ?> 
      <li> 
      <?php 
       echo $_SESSION['email']; 
      ?> 
      </li>   
      <li><h1> | </h1></li> 
      <li><h1><i class="fa fa-sign-out"></i> <style="float:right"> <a href="logout.php"> LOG OUT </a></h1></li> 
      <?php 
      } 
      else 
      { 
      ?> 
      <li><h1><i class="fa fa-sign-in"></i> <style="float:right" onclick="document.getElementById('id01').style.display='block'"> LOG IN </h1></li> 
      <li><h1> | </h1></li> 
      <li><h1><i class="fa fa-user"></i> <style="float:right" onclick="document.getElementById('id02').style.display='block'"> REGISTER </h1></li>  
      <?php 
      } 
      ?>    
     </ul> 
    </div>  
    </div>  
</header> 

logout.php的内容为如下

<?php 
session_unset(); 
session_destroy(); 
header('Location:index.php'); 

>

+0

单击注销按钮时会发生什么情况。它什么都不做? –

+0

你的意思是一个纯HTML链接不起作用? LOG OUT?页面在同一个文件夹中?任何包括这会混淆整个事情? – OldPadawan

+0

打开PHP的错误报告并查看单击logout.php时得到的内容,如果logout.php不可访问,则获得404但如果logout.php文件中出现错误,该怎么办。因此,要查看logout.php文件中是否有错误,请打开错误报告。有不同的方法来做到这一点。 – webDev

回答

0

只需添加一行到您的logout.php文件:

<?php 
session_start(); 
session_destroy(); 
header('Location:index.php'); 
?> 

销毁会话将删除所有会话数据,因此session_unset()行是不必要的。