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 相关文章推荐
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
Python查询IP地址归属完整代码
2017/06/21 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
Python多线程获取返回值代码实例
2020/02/17 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
python中upper是做什么用的
2020/07/20 Python
Python如何执行系统命令
2020/09/23 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
JPA的优势都有哪些
2013/07/04 面试题
临床医师专业个人自我评价
2014/01/08 职场文书
初中校园之声广播稿
2014/01/15 职场文书
高中生活自我鉴定
2014/01/18 职场文书
家电业务员岗位职责
2014/03/10 职场文书
小升初自荐信范文
2015/03/05 职场文书
银行自荐信范文
2015/03/25 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android