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 12 PHP
如何使用PHP获取网络上文件
Oct 09 PHP
Apache设置虚拟WEB
Oct 09 PHP
PHP实现的浏览器检查类
Apr 11 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
PHP架构及原理知识点详解
Dec 22 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 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
使用Python写一个小游戏
2018/04/02 Python
python pygame模块编写飞机大战
2018/11/20 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
Python with语句用法原理详解
2020/07/03 Python
外企财务年会演讲稿
2014/01/03 职场文书
机关搬迁方案
2014/05/18 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
中班上学期个人总结
2015/02/12 职场文书
学生病假条范文
2015/08/17 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python