2016-09-19 5 views
-4

ログインシステムを設計しました。しかし、ユーザーがログオンすると、メニューがある新しいページにリダイレクトされます。しかし、ユーザーがログアウトしてホームページのURLをコピーすると、いつでも。彼はまた戻ってくることができる。これをどうやって防ぐのですか?ログアウトした後にユーザが入力しないようにする

Login.php

<html> 
 

 
<head> 
 
    <title>Log in</title> 
 
</head> 
 

 
<body> 
 
    <h1>Welcome please sign in!</h1> 
 

 
    <?php if (!isset($_POST[ 'submit'])){ ?> 
 
    <!-- The HTML login form --> 
 
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
 
    Username: 
 
    <input type="text" name="username" /> 
 
    <br />Password: 
 
    <input type="password" name="password" /> 
 
    <br /> 
 

 
    <input type="submit" name="submit" value="Login" /> 
 
    </form> 
 
    <?php } else { require_once("db_const.php"); $mysqli=n ew mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); # check connection if ($mysqli->connect_errno) { echo " 
 
    <p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>"; exit(); } $username = $_POST['username']; $password = $_POST['password']; $sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1"; 
 
    $result = $mysqli->query($sql); if (!$result->num_rows == 1) { echo " 
 
    <p>Invalid username/password combination</p>"; } else { echo ' 
 
    <script language="javascript"> 
 
    '; 
 
\t \t echo ' 
 
    alert("Log in successfull!") 
 
    '; 
 
\t \t echo ' 
 
    </script>'; header("refresh:5;url=home.php"); } } ?> 
 
</body> 
 

 
</html>

ログアウト:

<?php 
 
session_start(); 
 
session_destroy(); 
 
header('Location: login.php'); 
 
exit; 
 
?>

とメニューページ:

<a href="login.php">Logout</a>

+1

これはPHPの動作方法ではありません。 –

+0

あなたのセッションには何が保存されていますか? – Virb

+0

PHPの使い方を学んでください。 :) –

答えて

1

このコードを試してみて、一番上にホーム・ページに入れ。

if(!isset($_SESSION['username'])) { 
    header("Location: login.php"); 
    exit; 
} 
+0

fter私がログインするのは即座にlogin.phpにリダイレクトされますが、ログアウトボタンとメニューも表示したいと思います。 –

+0

ログアウトボタンとメニューセクションの場合、この条件を使用しないでください(!isset($ _ SESSION ['username'])){}。必要なセクションだけを使用してください –

+0

それはまだ動作しませんでしたhome.phpを表示せずにlogin.phpに私をリダイレクトします –

関連する問題