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中使用Oracle数据库(4)
Oct 09 PHP
php 动态多文件上传
Jan 18 PHP
PHP开发中常用的字符串操作函数
Feb 08 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
php实现的操作excel类详解
Jan 15 PHP
利用PHP命令行模式采集股票趋势信息
Aug 09 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
php读取本地json文件的实例
Mar 07 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
javascript 闭包详解
2015/02/15 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
员工入职担保书范文
2014/04/01 职场文书
代理协议书
2014/04/22 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2015新学期家长寄语
2015/02/26 职场文书
python随机打印成绩排名表
2021/06/23 Python
react中的DOM操作实现
2021/06/30 Javascript
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL