2016-03-29 19 views
-3

どのようににセッション変数を作成すると、ログアウトが成功すると以前に訪れたページに移動する必要はありません。ログアウト後、以前に訪問したページに移動しない

Login.phpとlogout.phpがページが以下に提供されています

Login.php

require('dbConfig.php'); 

session_start(); 
$msg = ""; 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
$name = $_POST["userid"]; 

if ($name == '') { 
    $msg = "You must enter all fields"; 
} 
else 
{ 
    $sql = "SELECT * FROM user WHERE userid = '$name' "; 
    $query = mysql_query($sql); 

    if ($query === false) { 
     echo "Could not successfully run query ($sql) from DB: " . mysql_error(); 
     exit; 
    } 

    if (mysql_num_rows($query) > 0) { 
     $_SESSION['userid'] = $name; 
      header('Location: teams.php'); 
      exit; 
    } 

    $msg = "Username do not match"; 
} 
} 
?> 

Logout.phpを

<?php 
session_start(); 
if(session_destroy()) 
{ 
header("Location: index.php"); 
} 
?> 

問題: Afte r成功したログアウトで、ページは以前に訪問したページに移動しています。

ご協力いただきありがとうございます。

+0

あなたは本当にしようとしてからブラウザを防ぐことはできませんあなたがログアウトアクションの前に出したページの内容はブラウザコントロールの下にあるので、特にキャッシュすることができます。次に、適切なヘッダーを送信してペイロードのキャッシングを防止するだけです。あなたはそのための例をgoogleすることができます。 – arkascha

+0

あなたは 'mysql'の非推奨バージョンを使用しています。代わりに 'MySQLi'を使用してください。参照してください:http://php.net/manual/en/migration55.deprecated.php – Jer

+0

あなたは自分のコードを調べる前に、あなた自身のコードを調べることさえありません。 'header'はリダイレクトの原因です。 – chriz

答えて

0
あなた logout.phpページで

、代わりにif状態の、単に書く:

session_destroy(); 

だからあなたのページのコードは次のようになります。

<?php 
session_start(); // not compulsory to write 
session_destroy(); 
?> 
+0

私はこのコードを書いていますが、私は同じproblem.i.eに直面しています。ログアウトブラウザの後ろのボタンは前のページをナビゲートした後です。助けてください。アドバンス。 – nani

関連する問題