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


Posted in PHP onOctober 15, 2018

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

<?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

<?php
session_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

<?php
echo "<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登录界面,输入用户名密码,效果如下图:

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

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

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

点击确定

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

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

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

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

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

PHP 相关文章推荐
PHP 文章中的远程图片采集到本地的代码
Jul 30 PHP
PHP 事务处理数据实现代码
May 13 PHP
PHP文件操作实现代码分享
Sep 01 PHP
二招解决php乱码问题
Mar 25 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php使用curl访问https示例分享
Jan 17 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
php实现通用的信用卡验证类
Mar 24 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 #PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 #PHP
php实现二叉树中和为某一值的路径方法
Oct 14 #PHP
php中青蛙跳台阶的问题解决方法
Oct 14 #PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 #PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 #PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 #PHP
You might like
php获取post中的json数据的实现方法
2011/06/08 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
利用js对象弹出一个层
2008/03/26 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
JS表的模拟方法
2015/02/05 Javascript
JavaScript中Function详解
2015/02/27 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
python读取浮点数和读取文本文件示例
2014/05/06 Python
python中的代码编码格式转换问题
2015/06/10 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
股东合作协议书范本
2014/04/14 职场文书
经典毕业生求职信
2014/07/12 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
党员自我评价范文2015
2015/03/03 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
安全生产奖惩制度
2015/08/06 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS