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 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 PHP
PHP获取学生成绩的方法
Nov 17 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
destoon之一键登录设置
2014/06/21 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python Socket使用实例
2017/12/18 Python
Python实现学生成绩管理系统
2020/04/05 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
公司管理建议书
2015/09/14 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
python cv2图像质量压缩的算法示例
2021/06/04 Python
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
Python可视化神器pyecharts绘制水球图
2022/07/07 Python