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调用三种数据库的方法(1)
Oct 09 PHP
php你的验证码安全码?
Jan 02 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
解析php时间戳与日期的转换
Jun 06 PHP
php调用c接口无错版介绍
Mar 11 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
非常重要的php正则表达式详解
Jan 04 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
php实现映射操作实例详解
Oct 02 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反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
python列表操作实例
2015/01/14 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
软件测试企业面试试卷
2016/07/13 面试题
我的动漫时代的创业计划书范文
2014/01/27 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
七个Python必备的GUI库
2021/04/27 Python
详解Go与PHP的语法对比
2021/05/29 PHP
python 常用的异步框架汇总整理
2021/06/18 Python
python实现手机推送 代码也就10行左右
2022/04/12 Python