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验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
探讨如何把session存入数据库
Jun 07 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
php+ajax注册实时验证功能
Jul 20 PHP
详解PHP中array_rand函数的使用方法
Sep 11 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
PHP基于swoole多进程操作示例
Aug 12 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
PHPCMS的使用小结
2010/09/20 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
js 获取、清空input type=&quot;file&quot;的值示例代码
2014/02/19 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python仿抖音表白神器
2019/04/08 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python super()函数使用及多重继承
2020/05/06 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
利用python 读写csv文件
2020/09/10 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
《登鹳雀楼》教学反思
2014/04/09 职场文书
公司股东出资证明书
2014/11/01 职场文书
员工聘用合同范本
2015/09/21 职场文书
老舍《猫》教学反思
2016/02/17 职场文书