PHP 用户登陆

时间:2018-04-17 23:42:44 类型:PHP
字号:    

在制作项目时, 因为项目管理的需求, 用户登陆成为了我们项目中必不可少的一个操作,那么,用户登录的原理是什么呢?这个其实就类似我们生活中去坐火车,花了钱买了车票,然后就可以上车了,什么时候列车员要检查我们是否交钱了,只要看我们是否有票就可以了。 同样,项目系统检查我们是否登录,就看我们是否session设置值[就像火车票], 如果我们有session令牌,那么就认为我们已经登录,反之,如果没有session设置值, 就不让我们往下执行了

1.  登陆表单:

 

  <form action="user_check.php" method="post">
<li>用户名: <input type="text" name="user_name"></li>
<li>密 码:  <input type="password" name="user_pwd"></li>
<li>
<input type="submit" value="登陆">
</li>
</form>

2.  检查登陆用户 是否在 数据库中有


   

$db = conndb();

$user_name = $_POST["user_name"];
$user_pwd  = $_POST["user_pwd"];

if($user_name == "" || $user_pwd==""){
	echo "<script>alert('用户名或密码不能为空');history.back();</script>";
	die(); // exit();
}
$user_pwd = md5($user_pwd);
$sql = "select * from users where user_name = '$user_name' and user_pwd='$user_pwd' ";
$query = $db->query($sql);
$result = $query->fetchall();
if($result){
	//$result 为true, 表明这里有查询到值, 接下来需要发 门票,给令牌了
	session_start();
	$_SESSION['user_name'] = $user_name; //给了火车票
	$_SESSION['userid']    = $result[0]["id"];

	//记录每次用户登陆的时间
	$time = time();
	$sql = "insert into logins set 
							user_name='$user_name',
							logintime='$time'";
	$db->exec($sql);

	echo "<script>alert('登陆成功');location.href='main.php';</script>";
}
else{
	echo "<script>alert('用户名或密码不正确');history.back();</script>";
}

3. 在页面中判断有没有登录
 session_start();
if(!isset($_SESSION['user_name'])){
echo "<script>alert('请登陆');location.href='user_login.php';</script>";
exit();
}