PHP实现用session来实现记录用户登陆信息

0 2018-11-7 15:35

PHP中session实现记录用户登录信息的问题,也是PHP面试题中比较常见的考点之一,是PHP学习者必须掌握的一个知识点。

对于初入门的PHP新手来说,或许有一定的难度。那么在之前的文章【PHP中session如何存储及删除变量的】中,也为大家介绍了PHP中session的基础含义,需要的朋友可以选择参考。

下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户登录信息的具体方法。

1.简单的登录界面代码示例:

login.html

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>登录</title> <style type="text/css">  body {   background: url(images/bg.png);  }   .clear {   clear: both;  }   .login {   width: 370px;   margin: 100px auto 0px;   text-align: center;  }   input[type="text"] {   width: 360px;   height: 50px;   border: none;   background: #fff;   border-radius: 10px;   margin: 5px auto;   padding-left: 10px;   color: #745A74;   font-size: 15px;  }   input[type="checkbox"] {   float: left;   margin: 5px 0px 0px;  }   span {   float: left;  }   .botton {   width: 130px;   height: 40px;   background: #745A74;   border-radius: 10px;   text-align: center;   color: #fff;   margin-top: 30px;   line-height: 40px;  } </style></head><body><div class="login"> <form action="check.php" method="post">  <img src="images/header.png"><br>  <input type="text" name="username" placeholder="请输入用户名!" value=""><br>  <input type="text" name="password" placeholder="请输入密码!" value=""><br>  <input type="submit" class="botton" value="login"> </form> <div class="clear"></div></div></body> </html>

2.简单的用于连接数据库的PHP文件代码示例:

db.php

<&#63;php $dbName = 'demo';$host = '127.0.0.1';$user = 'root';$password = 'root'; $dsn = "mysql:host=$host;dbname=$dbName";$pdo = new PDO($dsn, $user, $password); function sql($table, $field = '*', $where = ''){ global $pdo; $sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where; $data = $pdo->query($sql)->fetch(); return $data;}

这里我们定义了一个sql方法用来查询数据库表中字段,并返回数据。

那么如果有新手不清楚PHP连接数据库的方法,可以参考学习这篇文章【PHP怎么连接Mysql数据库】。

3.检验用户登录信息的代码示例:

check.php

<&#63;phpsession_start();include "db.php";@$name = $_POST['username'];@$pas = $_POST['password']; $row = sql('user', '*', "username = '$name'");if (!$row) { return "用户名不存在!请检查用户名~~";} if ($row['password'] == $pas) { $_SESSION['username'] = "$name"; echo "<script> alert('登录成功!正在跳转...')</script>"; echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>"; header("Refresh:1;url=index.php");}

这里我们要开启session,并用include引入数据库,然后用if语句判断查询提交过来的数据并将用户名提交给session来记录,即判断用户名密码是否存在及是否相等。

4.登录成功后跳转的页面代码示例:

index.php

<&#63;phpecho "<h1>这里是主页</h1>";session_start();$name = $_SESSION['username'];if ($name) { echo "<script>  alert(/"尊敬的$name ,欢迎回来!!/");</script>";}else{ echo "<script> alert('您还尚未登录!请返回登录~~')</script>"; echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>"; header("Refresh:1;url=login.html");}

那么上述代码login.html,db.php,check.php和index.php就是一个简单的用session来实现记录用户登录信息的程序。

我们可以通过浏览器访问进行测试,首先我们可以在login登录界面,输入用户名密码,效果如下图:

点击login登录,跳转到check.php。

点击确定

如果跳转失败就点击上图中链接,如果跳转成功,则直接跳转到index.php主页面,显示如下图:

本篇文章就是关于PHP中session来实现记录用户登录信息的具体方法介绍,具有一定的参考价值,希望对需要的朋友有所帮助!