2016-10-24 2 views
-2

login.php 사용자 로그 아웃 후 사용자를 막고 다시 버튼을 누르면 그는 여전히 로그 아웃합니다 ... 내 프로젝트의 현재 상태에서 사용자 로그 아웃하고 Enter 키를 눌러 다시 그는 여전히 마지막 페이지에 돌아가서 것입니다 버튼 로그 process.php사용자가 로그 아웃 한 후 뒤로 버튼을 멈추는 방법

<!DOCTYPE HTML> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=MS932"> 
    <title>Login Page</title> 
    <link rel ="stylesheet" type="text/css" href="style.css"> 
</head> 

<body> 
<div id ="frm"> 
<form action="process.php" method="post" > 
    <p> 
      <label>Username:</label> 
      <input type="text" id="email" name="user" required/> 
    </p> 
    <p> 
      <label>Password:</label> 
      <input type="password" id="pass" name="pass" required/> 
    </p> 
    <p> 

      <input type="submit" id="btn" value="Login"/> 
    </p> 


</form> 
</div> 
</body> 

에서

<?php 
$username = $_POST['user']; 
$password = $_POST['pass']; 

    $username = stripcslashes($username); 
    $password = stripcslashes($password); 
    $username = mysql_real_escape_string($username); 
    $password = mysql_real_escape_string($password); 

mysql_connect("localhost","root",""); 
    mysql_select_db("testproduct"); 

    $result = mysql_query("SELECT * FROM tbluser where email = '$username' and pass='$password'")or die("Failed to query database".mysql_error()); 
$row = mysql_fetch_array($result); 
    if($row['email'] == $username && $row['pass'] == $password){ 
echo "<script>window.location.assign('index.php');</script>"; 
}else{ 

    echo "<script>alert('Login was unsuccessful, please check your username and password')</script>"; 
    echo "<script>window.location.assign('login.php');</script>"; 
    return false; 
} 
?> 

logout.php

<?php 
    session_start(); 
session_destroy(); 
$_SESSION = array(); 
header("location: login.php"); 
    ?> 
+1

확인 세션 어레이는 로그 아웃 페이지에 존재하는 키를 갖는 경우. 'if' 키가 존재하면, 세션을 파괴하십시오. 그렇지 않다면 다시 방향을 바꾼다 –

+0

나는 당신이 이것과 함께 살지 않길 바랍니다. 게시 한 내용과 함께 일반 텍스트 비밀번호 저장. –

+0

아니요. this proj. 더 많은 프로토 타입입니다 –

답변

0

사용자 로그인시 session variable을 초기화하고 로그 아웃하면 삭제하십시오. index.php으로 갈 때마다 session variable이 있는지 또는 successful login인지 확인합니다.

http://php.net/manual/en/ref.session.php

process.php

<?php 
session_start(); 

$username = $_POST['user']; 
$password = $_POST['pass']; 

    $username = stripcslashes($username); 
    $password = stripcslashes($password); 
    $username = mysql_real_escape_string($username); 
    $password = mysql_real_escape_string($password); 

mysql_connect("localhost","root",""); 
    mysql_select_db("testproduct"); 

    $result = mysql_query("SELECT * FROM tbluser where email = '$username' and pass='$password'")or die("Failed to query database".mysql_error()); 
$row = mysql_fetch_array($result); 
    if($row['email'] == $username && $row['pass'] == $password){ 
    $_SESSION['un'] = $username; 
echo "<script>window.location.assign('index.php');</script>"; 
}else{ 

    echo "<script>alert('Login was unsuccessful, please check your username and password')</script>"; 
    echo "<script>window.location.assign('login.php');</script>"; 
    return false; 
} 
?> 

의 index.php

<?php 

    session_start(); 

    if(!isset($_SESSION['un'])){ 
    header("location:login.php"); 
    } 

    ... 

?> 
관련 문제