2017-02-13 7 views
-4

私が本当に欲しいのは、ユーザーがログアウトしたときにユーザーをログアウトする必要がある場合です。それをどうやって作るの?試したものは実際にユーザーをログアウトしています。ログアウトするとユーザーアカウントが表示されますが、これは私が望むものではありません。私が望むのは、本当にユーザーを完全にログアウトさせるログアウトを作成する方法です。 ログインページです。ログインコードからログアウトを作成するにはどうすればよいですか?

<?php 
define('DB_HOST', 'localhost'); 
define('DB_NAME', 'university portal'); 
define('DB_USER','root'); 
define('DB_PASSWORD','password007'); 

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error()); 
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 
/* 
$ID = $_POST['user']; 
$Password = $_POST['pass']; 
*/ 
function SignIn() 
{ 
session_start(); //starting the session for user profile page 
if(!empty($_POST['UserName'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
{ 
    $query = mysql_query("SELECT Username, Password, voting_status FROM voters where Username = '$_POST[UserName]' AND Password = '$_POST[password]'") or die(mysql_error()); 
    $row = mysql_fetch_array($query) or die(mysql_error()); 
    if(!empty($row['Username']) AND !empty($row['Password'])) 
    { 

     $_SESSION['Username'] = $row['Username']; 
     $_SESSION['Voting Status'] = $row['voting_status']; 
     header("location:Home.php"); 

    }else{ 
     echo "username or password is incorrect"; 
    } 
} 
} 
if(isset($_POST['submit'])) 
{ 
    SignIn(); 
} 
      ?> 
     </form> 
    </div> 
    </div> 
    <div id="Footer"></div> 
</div> 
<p>&nbsp;</p> 
</body> 
</html> 
<?php 
mysql_free_result($Login2_form); 
?> 
+0

手がかり破壊することができます:ところで完全 –

+1

セッションを破壊します。私は**あなたが**ハッキングされるので、あなたが生きていないか、これで生きて行くつもりでないことを願っています。 –

+1

*** [mysql_ *関数の使用をやめる](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)*** [これらの拡張機能](http://php.net/manual/en/migration70.removed-exts-sapis.php)がPHP 7で削除されました。[prepared](http://en.wikipedia.org/wiki/Prepared_statement)について学んでください。 )[PDO](http://php.net/manual/en/pdo.prepared-statements.php)と[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared- statements.php)、PDOを使用することを検討してください。[これは本当に簡単です](http://jayblanchard.net/demystifying_php_pdo.html)。 –

答えて

0

これは、アプリケーションを通じてユーザー情報を保存する方法によって異なります。 $_SESSION変数を使用している場合は、session_destroy()関数またはunset $_SESSION(推奨されない)を使用してそれを破棄し、ログインページにリダイレクトすることができます。
HTML5 localStorageを使用している場合は、単純にecho <script>window.localStorage.clear()</script>にして、ログインページにリダイレクトすることができます。

0

$_SESSION変数を試してみてください。例えば、$ _SESSION ["username"](ユーザー名を含むかもしれない)と$ _SESSION ["fingerprint"]の2つを設定することができます。これはユーザーのパスワードのハッシュを含むことができるので、ユーザーがログアウトせずにナビゲートする各ページで$ _SESSION ["hash"]と生成され、DBに格納されたhashの値を比較することができます。

そして、ユーザがログアウトするとき、あなたは、単に$ _SESSION変数

関連する問題