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 Class 文章
Apr 04 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
PHP常用函数小技巧
Sep 11 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
PHP session会话操作技巧小结
Sep 27 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 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使用数组实现队列
2012/02/05 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
List all the Databases on a SQL Server
2007/06/21 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python for循环输入一个矩阵的实例
2018/11/14 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
公关活动策划方案
2014/05/25 职场文书
表扬通报怎么写
2015/01/16 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
python实现过滤敏感词
2021/05/08 Python
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript