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 中的批处理的实现
Jun 14 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
php格式化电话号码的方法
Apr 24 PHP
PHP微信红包API接口
Dec 05 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
PHP切割汉字的常用方法实例总结
Apr 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
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
微信支付开发维权通知实例
2016/07/12 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
vue实现手机端省市区区域选择
2019/09/27 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
Python计算程序运行时间的方法
2014/12/13 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
工商企业管理实习自我鉴定
2013/12/04 职场文书
高中毕业的自我鉴定
2013/12/09 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
保护环境演讲稿
2014/05/10 职场文书
先进个人自荐书
2015/03/06 职场文书
高一语文教学反思
2016/02/16 职场文书
JavaScript前端面试组合函数
2022/06/21 Javascript
Python find()、rfind()方法及作用
2022/12/24 Python