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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
如何做到多笔资料的同步
Oct 09 PHP
PHP中的cookie
Nov 26 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
discuz目录文件资料汇总
Dec 30 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
全面了解PHP中的全局变量
Jun 17 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
详解JavaScript树结构
2017/01/09 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
Python聊天室实例程序分享
2016/01/05 Python
python实现识别相似图片小结
2016/02/22 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
大学生毕业自荐信
2013/10/10 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
道德演讲稿
2014/05/21 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
公司借条范本
2015/05/25 职场文书
银行资信证明
2015/06/17 职场文书
汽车车尾标语大全
2015/08/11 职场文书
小学思想品德教学反思
2016/02/24 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书