Rumah >pengaturcaraan harian >pengetahuan PHP >PHP cookie实现记录用户登陆信息的方法(图文+视频)

PHP cookie实现记录用户登陆信息的方法(图文+视频)

藏色散人
藏色散人asal
2018-10-18 15:55:527083semak imbas

本篇文章主要给大家介绍PHP使用cookie来实现记录用户登录信息的方法。

cookie也就是储存在用户本地终端上的数据。那么在之前的文章【PHP中cookie怎么记录及删除变量?】中,已经为大家详细介绍过cookie是什么以及基础操作用法。需要的朋友可以先了解参考下。

cookie的使用除了在我们日常项目开发中被需要,在我们PHP面试过程中也是较为常见的一个考点,大家是很有必须学习掌握的。

下面我们就结合具体的代码示例,给大家介绍cookie实现记录用户登录信息的方法。

以下方法与之前介绍的session实现记录用户登录信息的思路及使用例子基本是一样的,需要的朋友也可以选择了解下【PHP如何用session来记录用户登陆信息?】这篇文章。

一、登录界面代码示例:

<!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>

二、连接数据库的PHP文件代码示例:

<?php
$dbName = &#39;demo&#39;;
$host = &#39;127.0.0.1&#39;;
$user = &#39;root&#39;;
$password = &#39;root&#39;;
 
$dsn = "mysql:host=$host;dbname=$dbName";
$pdo = new PDO($dsn, $user, $password);
 
function sql($table, $field = &#39;*&#39;, $where = &#39;&#39;)
{
    global $pdo;
    $sql = &#39;select&#39; . &#39; &#39; . $field . &#39; &#39; . &#39;from&#39; . &#39; &#39; . $table . &#39; where &#39; . $where;
    $data = $pdo->query($sql)->fetch();
    return $data;
}

三、用户登录信息的代码示例

<?php
include "db.php";
@$name = $_POST[&#39;username&#39;];
@$pas = $_POST[&#39;password&#39;];

$row = sql(&#39;user&#39;, &#39;*&#39;, "username = &#39;$name&#39;");
if (!$row) {
    echo "<script>
    alert(&#39;用户名不存在!请检查用户名~~&#39;)
</script>";
    header("Refresh:1;url=login.html");
    return;
}

if ($row[&#39;password&#39;] == $pas) {
    setcookie("username", "$name", time() + 36000);
    echo "<script>
    alert(&#39;登录成功!正在跳转...&#39;)
</script>";
    echo "<a href=&#39;index.php&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=index.php");
    return;
}
echo "密码错误!请检查密码";
header("Refresh:1;url=login.html");

这里我们将用户登录成功后的信息存储到cookie中,并且保留时间为10个小时。

四、主页代码示例:

<?php
echo "<h1>这里是主页</h1>";
@$name = $_COOKIE[&#39;username&#39;];
echo $_COOKIE[&#39;username&#39;];
if ($name) {
    echo "<script>
     alert(\"尊敬的$name ,欢迎回来!!\");
</script>";
}else{
    echo "<script>
    alert(&#39;您还尚未登录!请返回登录~~&#39;)
</script>";
    echo "<a href=&#39;login.html&#39;>如果跳转失败请点击跳转~~</a>";
    header("Refresh:1;url=login.html");
}

通过浏览器访问,效果实现如下图所示:

录制_2018_10_18_14_11_28_851.gif

当然我们可以检验一下用户信息是否成功存储到cookie中,在index.php中,直接写上如下代码:

<?php
echo $_COOKIE[&#39;username&#39;];

结果如下图:

945671b53d0b18bfdd4e23ed130419f.png

如图我们输出了cookie中所储存的用户名信息,也就表示用户信息已经存储到cookie中了。

本篇文章就是关于PHP使用cookie来实现记录用户登录信息的方法介绍,希望对需要的朋友有所帮助!

想要了解更多PHP知识,可以关注PHP中文网PHP视频教程,欢迎大家参考学习!

Atas ialah kandungan terperinci PHP cookie实现记录用户登陆信息的方法(图文+视频). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn