본문 바로가기
PHP 박살내기/php ajax json

php login session 예제

by 인생여희 2017. 9. 21.
반응형

php login session 예제



#화면


#index.php

<!DOCTYPE html>
<html>
<head>
<title>Webslesson Tutorial</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<style>
#box
{
width:600px;
background:gray;
color:white;
margin:0 auto;
padding:10px;
text-align:center;
}
</style>
</head>
<body>
<?php
session_start();
if(isset($_SESSION["name"]))
{
echo "<h1 align='center'>Use Ajax with Jquery in PHP to check Session Expired</h1>";
echo "<h1 align='center'>".$_SESSION["name"]."</h1>";
echo "<p align='center'><a href='logout.php'>Logout</a></p>";
}
else
{
header('location:login.php');
}
?>
</body>
</html>
<!--index.php !-->
<script>
$(document).ready(function(){
function check_session()
{
$.ajax({
url:"check_session.php",
method:"POST",
success:function(data)
{
if(data == '1')
{
alert('Your session has been expired!');
window.location.href="login.php";
}else{

alert('session alive');
}
}
})
}
setInterval(function(){ check_session(); }, 3000);
});
</script>


#login.php

<?php
//login.php
$connect = mysqli_connect("localhost", "root", "비번", "db이름");
session_start();
if(isset($_POST["sub"]))
{
$username = mysqli_real_escape_string($connect, $_POST["name"]);
$password = mysqli_real_escape_string($connect, $_POST["pass"]);
$query = "SELECT * FROM session WHERE user = '".$username."' AND password = '".$password."'";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
//세션 설정
$_SESSION["name"] = $_POST["name"];
header("location:index.php");
}
else
{
echo '<script>alert("Wrong Data")</script>';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Webslesson Tutorial</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<style>
#box
{
width:600px;
background:gray;
color:white;
margin:0 auto;
padding:10px;
text-align:center;
margin-top:100px;
}
</style>
</head>
<body>
<div id="box">
<h1 align="center">Use Ajax with Jquery in PHP to check Session Expired</h1>
<h2>Login</h2>
<form method="post">
<input type="text" name="name" id="name" placeholder="Enter Username" class="form-control" /><br />
<input type="password" name="pass" id="pass" placeholder="Enter Pass" class="form-control" /><br />
<input type="submit" name="sub" id="sub" class="btn btn-info" value="Submit" />
</form>
<br /><br />
</div>
</body>
</html>


<script>
$(document).ready(function(){

function check_session()
{
$.ajax({
url:"check_session.php",
method:"POST",
success:function(data)
{
if(data == '1')
{
alert('Your session has been expired!');
window.location.href="login.php";
}else{

alert('session alive');
}
}
})
}
setInterval(function(){ check_session(); }, 3000);
});
</script>


#logout.php

<?php
//logout.php
session_start();
session_destroy();
header('location:login.php');
?>


#check_session.php

<?php
//check_session.php
session_start();
if(isset($_SESSION["name"]))
{
echo '0'; //session not expired
}
else
{
echo '1'; //session expired
}
?>


반응형

댓글