PHP session登录案例

思路:使用session保存用户的登录状态,在需要登录的页面判断session来判断是否跳转到登录页面
session原理不是很了解,就是开始一个session之后服务器会产生一个文件保存信息,并且客户端会有一个cookie来记录sessionID来保持和服务器的通讯

session

<?php
//  启动 Session
session_start();
//  声明一个名为 admin 的变量,并赋空值。
$_SESSION["admin"] = null;
?>

每次使用session时需要先session_start();

具体案例

登录页面

<?php

if( isset($_POST['username']) ){
	require("../Tools/SQL/sql.php");	
	
	$password = $_POST["password"];
	$username = $_POST["username"]; 
	
	$con = mysqli_connect("localhost",$db_user,$db_pwd,$db_database);
	if (!$con)
	  {
	  die('Could not connect: ' . mysqli_error());
	  }

	 
$sql="SELECT * FROM admin where user = '".$username."'";
$result=mysqli_query($con,$sql);
 
// 取出数据
$row=mysqli_fetch_assoc($result);

$pwd = $row["pwd"];

 
// 释放结果集
mysqli_free_result($result);
 
mysqli_close($con);
	 
	
	
	if( $pwd == $password ){
		session_start();
		//  注册登陆成功的 admin 变量,并赋值 true
	$_SESSION["admin"] = true;
	 echo '<script language="JavaScript">;alert("登录成功");location.href="admin.php";</script>;';
	} else {
		
		echo '<script language="JavaScript">;alert("用户名密码错误");location.href="login.php";</script>;';
	}

}
		

?>

<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆界面</title>
</head>
<body>
 <form action="login.php" method="post"> 
帐号:<input type="text" name="username"><br> 
密码:<input type="password" name="password"><br> 
<input type="submit" value="登录"> 
</form>
</body>
</html>

用户页面

<?php

//  防止全局变量造成安全隐患
	$admin = false;
	//  启动会话,这步必不可少
	session_start();
	//  判断是否登陆
	if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) {				
		echo "admin";		
	}else{
		echo '没登录'.'<hr />';
		echo '<script language="JavaScript">;alert("请登录");location.href="login.php";</script>;';
	} 




参考:

https://www.cnblogs.com/happyforev1/articles/1645916.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章