2016-12-03 26 views
1

タブが閉じているときにセッション変数を消去したいが、これまでのところ解決策が見つかりませんでした。ここではログインしていないユーザはURLを入力しますdashboard.phpはindex.phpにリダイレクトすることを意味します。この状態は正常に動作しています。これでユーザが正常にログインすると、そのタブを閉じるとdashboard.phpページに戻ります。 dashboard.phpページを入力すると、私はindex.phpの中にページをリダイレクトすること、このブラウザを閉じたときにセッションを閉じてインデックスページにリダイレクトする方法

<?php 
    session_start(); 
    date_default_timezone_set('Asia/Kolkata'); 
    include('dbconfig.php'); 
    $email=$_POST['email']; 
    $password=$_POST['password']; 
    $password=md5($password); 
    $sql=mysql_query("SELECT id,username,email,password,is_user_type FROM login WHERE email='$email' AND password='$password'"); 
    list($id,$username,$email,$pwd,$is_user_type)=mysql_fetch_row($sql); 
    if($pwd==$password){ 
    $_SESSION['username']=$username; 
    $_SESSION['email']=$email; 
    $_SESSION['is_user_type']=$is_user_type; 
    $_SESSION['current'] = basename($_SERVER['PHP_SELF']); 
    header("Location:dashboard.php"); 
    } 
    else{ 
     echo "error"; 
    } 
    ?> 

dashboard.php 
<?php 
session_start(); 
if(!isset($_SESSION['email']) && empty($_SESSION['email'])) { 
    header("Location:index.php"); 
} 
if (isset($_SESSION['current'])) { 
if (basename($_SERVER['PHP_SELF']) != $_SESSION['current']) { 
    session_destroy(); 
} 
} 
?> 

答えて

1

まず行うことができますどのように、あなたのxyz.phpファイルがマークとして機能します$ _SESSION配列にユニークな変数を設定しますユーザーがこのページにいることを確認してください

$_SESSION['previous'] = basename($_SERVER['PHP_SELF']); 

次に、すべてのページに次のコードを追加してから、ユーザーが来ているかどうかを確認してくださいメートルxyz.php

if (isset($_SESSION['previous'])) { 
    if (basename($_SERVER['PHP_SELF']) != $_SESSION['previous']) { 
    session_destroy(); 
    unset($_SESSION['previous']); 
    } 
} 
+0

ありがとうMr @ Pravin Vavadiya –

+0

私はちょうど私が欲しいものに答えました.. –

+0

私の更新されたコードを確認してください、正常に記録されたことは、dashboard.php page.thenに行くことを意味するページをリフレッシュすると、これは再びログインページに来るでしょう。 –

0

すべてのセッションデータを破壊するには、この

if($_SESSION[sessionvaribale]) 
    { 
    unset($_SESSION[sessionvaribale]); 
    } 

を試し、特定のセッションデータを削除するには - すでにStackOverflowの

で議論session_destroy()

そのはSession destroy when logout

を参照してくださいしてみてください
関連する問題