IE盒子

搜索
查看: 99|回复: 3

记录用户登陆信息,你用PHP是如何来实现的

[复制链接]

1

主题

4

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-1-8 17:56:50 | 显示全部楼层 |阅读模式
对于初入门的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="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主页面,显示如下图:




以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要请戳这里链接






最后,祝所有大家在面试中过关斩将,拿到心仪offer。如果想与一群3-8年资深开发者一起交流学习的话,需要 请戳这里链接 或者关注下面的知乎专栏
回复

使用道具 举报

1

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-8 17:57:29 | 显示全部楼层
请问为什么我登录的账号和跳转显示的账号不是一个呢,跳转显示的是我以前登录的账号
回复

使用道具 举报

2

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-1-8 17:58:18 | 显示全部楼层
资源不在了
回复

使用道具 举报

3

主题

13

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2025-5-13 11:37:41 | 显示全部楼层
嘘,低调。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表