2017-01-18 6 views
1

私は特定のトピックを検索していましたが、私が探していたものは見つかりませんでした。 私は、ユーザーのログアウトのためのPHPコードを使用しています:ログアウトページ - ph

<?php 
    if(!isset($_SESSION)) 
     { 
      session_start(); 
     } 
     session_unset(); 
     unset($_SESSION["id"]); 
     unset($_SESSION["sign"]); 
     unset($_SESSION["lang"]); 
     unset($_SESSION["usertype"]); 
     session_destroy(); 
     echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=./index.php?lang=en">'; 
    ?> 

そして、すべては私が避けたい1つの迷惑な事を除いて正常に動作しています。ユーザーがログアウトボタンを押すと、最初のページが表示される前に追加の空白のページがしばらく表示されることがわかります。この現象を排除できますか? - その間に何も表示したくない場合は、ユーザーをホームページにリダイレクトするだけです。次の関数呼び出しで

echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=./index.php?lang=en">'; 

、そしてもちろん、ページを更新するtriyingの唯一のPHPのリダイレクトinesteadを実行するために、あなたのURLパラメータを提供します。ラインを交換する

+3

がメタリフレッシュを使用しないでくださいホームページにリダイレクトするために、ヘッダーを使用し、単にヘッダのリダイレクトを使用します。 'header( 'Location:./index.php?lang=en');' –

答えて

0

してみてください。

Redirect("index.php"); 

function Redirect($url, $statusCode = 303) 
{ 
    header('Location: ' . $url, true, $statusCode); 
    die(); 
} 
0

の代わりunset()すべての変数はちょうど未設定のためのsession_unset() & session_destroy()を使用すると、すべてのセッション変数を破壊することは、その後

session_unset(); 
session_destroy(); 
header('Location: http://yourwebsite.com');