对于初入门的PHP新手来说,或许有一定的难度。建议大家先看看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="data: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登录界面,输入用户名密码,效果如下

点击login登录,跳转到check.php。

点击确定

如果跳转失败就点击上图中链接,如果跳转成功,则直接跳转到index.php主页面,显示如下图:

记录用户登陆信息,你用PHP是如何来实现的的更多相关文章

  1. IOS开发之记录用户登陆状态,ios开发用户登陆

    IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...

  2. net mvc中实现记录用户登录信息(记住登录效果)

    现记录用户登录信息(记住登录效果) 本文讲述了使用cookies实现网站记住登录效果,效果如下: 主要实现方法,当用户选择记住登录时建立cookies保存用户名和用户密码,当用户登录不选择记住登录时, ...

  3. [转]mvc3 使用session来存储类来存储用户登陆信息

    mvc3 使用session来存储类来存储用户登陆信息 2013-08-26 09:48:56|  分类: NET开发 |举报 |字号 订阅   项目之前的登陆机制是这样的:用户登陆后初始化一个类,类 ...

  4. Oracle 中记录用户登录信息

    我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...

  5. linux查看当前用户登陆信息

    @(Linux基础)[linux查看当前用户登陆信息] linux查看当前用户登陆信息 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正 ...

  6. IOS开发之记录用户登陆状态

    上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...

  7. pptp记录用户登陆日志

    pptp vpn记录用户登录和流量信息(转) 这个问题困扰了我很久,终于在pppd的man文档里,发现了踪迹.在man中的SCRIPTS下有一系列的参数,其中PEERNAME就是登陆的用户名,并且在/ ...

  8. java的web项目中使用cookie保存用户登陆信息

    本文转自:http://lever0066.iteye.com/blog/1735963 最近在编写论坛系统的实现,其中就涉及到用户登陆后保持会话直到浏览器关闭,同时可以使用cookie保存登陆信息以 ...

  9. linux 用户登陆信息查询

    1.查看命令历史 每个用户都有一份命令历史记录 查看$HOME/.bash_history 或者在终端输入: history 2.last命令 查看用户登录历史 此命令会读取 /var/log/wtm ...

随机推荐

  1. 微服务架构 ------ Day01 微服务架构优缺点

    1. 微服务架构的优点 庞大的单体程序 -> 一套微型程序. 每一个服务有明确的边界(服务之间的消息通讯机制) ,每一个服务都能单独的开发和维护,并且更好理解 每一个服务都能由一个团队来开发,当 ...

  2. SpringBoot系列教程之Bean之指定初始化顺序的若干姿势

    上一篇博文介绍了@Order注解的常见错误理解,它并不能指定 bean 的加载顺序,那么问题来了,如果我需要指定 bean 的加载顺序,那应该怎么办呢? 本文将介绍几种可行的方式来控制 bean 之间 ...

  3. C语言算法动态规划板子题汇总

    本篇博客仅为对动态规划基础问题的状态转移方程进行求解,然后给出对应的注释代码,有关题目的具体内容可在算法导论或网络上进行查看 目录 1.钢管切割(最小值) 2.两条流水线调度 3.多条流水线调度 4. ...

  4. 使用Java8 Stream API对Map按键或值进行排序

    一.什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序.下面是它的工作原理: 将Map或List等集合类对象转换为Stream对象 使用Streams ...

  5. 持久层框架JPA与Mybatis该如何选型

    一.现状描述 目前java 持久层ORM框架应用最广泛的就是JPA和Mybatis.JPA只是一个ORM框架的规范, 对该规范的实现比较完整就是Spring Data JPA(底层基于Hibernat ...

  6. Vue中Form表单验证无法消除验证问题

    iView的表单api给出了一个resetFields方法,用于重置整个表单输入的内容并清除验证提示. 但是有时候需要只消除部分的iview的resetFields方法源码是这样的resetField ...

  7. python基础-字符串(str)类型及内置方法

    字符串-str 用途:多用于记录描述性的内容 定义方法: # 可用'','''''',"","""""" 都可以用于定义 ...

  8. Knative Serving 健康检查机制分析

    作者|  阿里云智能事业群技术专家牛秋霖(冬岛) 导读:从头开发一个Serverless引擎并不是一件容易的事情,今天咱们就从Knative的健康检查说起.通过健康检查这一个点来看看Serverles ...

  9. 【XSY2985】【BZOJ1367】【Baltic2004】sequence

    考虑两种情况: 1.\(a_1\)<\(a_2\)<\(a_3\)<\(a_4\)...<\(a_n\) 直接令\(b_i\)=\(a_i\),最小. 2.\(a_1\)> ...

  10. 网络安全-主动信息收集篇第二章-二层网络扫描之scapy

    scapy是python第三方库文件,可以使用python进行调用也单独进行使用. 非常强大可以用于抓包.分析.创建.修改.注入网络流量. 使用scapy 详细使用方式可以查看github:https ...