2017-04-07 84 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()行是不必要的。