前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP实现用session来实现记录用户登陆信息

PHP实现用session来实现记录用户登陆信息

作者头像
用户8664418
修改2021-07-13 18:11:58
6980
修改2021-07-13 18:11:58
举报
文章被收录于专栏:自留地2自留地2

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 >

<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" value="login">

</form>

<div ></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中session来实现记录用户登录信息的具体方法介绍,具有一定的参考价值,希望对需要的朋友有所帮助!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档