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

2019-11-27 来源: 程序媛的明天 发布在  https://www.cnblogs.com/a609251438/p/11945538.html

对于初入门的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主页面,显示如下图:

相关文章