PHP(基本语法)PHP中的Cookie

文件结构:

PHP(基本语法)PHP中的Cookie

 

login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="./loginCookie.php" method="post">  
        姓名:<input type="text" name="username" placeholder="请输入用户名"><hr>  
        密码:<input type="password" name="password" placeholder="请输入密码"><hr>  
        <input type="submit" value="提交按钮">  
    </form>  
</body>
</html>

loginCookie.php:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
<?php
    include config.php;  
    /**1、连接数据库 */
    $conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);  
    if(!$connect){  
        die("could not connect:".mysqli_error());  
    }else{
        echo "连接成功<br>"; 
        /**识别cookie,判断是否访问过,有无cookie或者是否过期 */
        if (($_COOKIE[username] != null)&&($_COOKIE[password] != null)) {  
            $userName = $_COOKIE[username];
            $password = $_COOKIE[password];
            /** 连接数据库,从db获取用户信息 */
            // $conn = mysqli_connect(‘localhost‘,‘root‘,‘root‘,‘login‘);
            $res = mysqli_query($conn,"select * from user where `username` =  ‘$userName‘ ");
            $row = mysqli_fetch_assoc($res);
            if ($row[password] == $password) {
                /** 验证通过后跳转到登录后的欢迎页面 */
                header(location: welcome.php . "?username=$userName");
            } 
        }else{  
            echo("上一个COOKIE过期");  
        }  
        /**如果第一次访问或者cookie过期则重新到数据库查找对比 */
        if(($_POST[username] != null)&&($_POST[password] != null)){  
            $userName = $_POST[username];
            $password = $_POST[password];
            /** 连接数据库,从db获取用户信息 */
            // $conn = mysqli_connect(‘localhost‘,‘root‘,‘root‘);
            // mysqli_select_db($conn,‘login‘);
            $sql = "select * from user where `username` = ‘$userName‘ ";
            $res = mysqli_query($conn,$sql);
            $row = mysqli_fetch_assoc($res);/**从结果集中取得一行作为关联数组 */
            /**执行判断--用户名和密码是否正确 */
            if($row){
                /**echo(‘用户名存在‘);用户名存在的情况下判断密码 */
                if ($row[password] == $password) {
                    /**
                     * 密码验证通过,设置cookies,把用户名和密码保存在客户端
                     * 设置时效一个月60*60*24*30,一个月后这个cookie失效。这里我们设置60s失效,为time()+60
                     */
                    setcookie(username,$userName,time()+60);
                    setcookie(password,$password,time()+60);
                    /** 最后跳转到登录后的欢迎页面 */
                    header(location: welcome.php . "?username=$userName");
                }
            }else{
                /**不存在该用户 */
                exit(用户名错误);
            }
        }else{  
            echo "请输入用户名或密码";  
        }  
    }


    /**5、关闭连接 */
    $close = mysqli_close($connect);  
    if(!$close){  
        die("关闭数据库失败");  
    }else{  
        echo "关闭成功";  
    }  
?>

config.php:

<?php
    //数据库服务器
    define(DB_HOST, localhost);
    //数据库用户名
    define(DB_USER, root);
    //数据库密码
    define(DB_PWD, root);
    //数据库名
    define(DB_NAME, login);
    //字符集
    define(DB_CHARSET, utf8);
?>

welcome.php:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    
<?php  
    $user = $_GET[username];
    echo "欢迎"."<h1>".$user."</h1>";  
?>  

 

 

 

 

.

PHP(基本语法)PHP中的Cookie

上一篇:HTML&CSS(二)


下一篇:linux怎么模糊查找一个文件