zoukankan      html  css  js  c++  java
  • Session案例:实现用户登录

    <!-- login.html -->
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>用户登录系统</title>
        <style>
            * {
                padding: 0;
                margin: 0;
                list-style: none;
            }
            fieldset{
                 280px;
                height: 150px;
                margin: 36px auto;
                padding: 24px;
            }
            .login_btn {
                 72px;
                margin: 12px 96px;
            }
            input {
                margin: 5px auto;
            }
        </style>
    </head>
    <body>
        <form action="login.php" method="post">
            <fieldset>
                <legend>用户登录</legend>
                <ul>
                    <li>
                        <label for="">用户名:</label>
                        <input type="text" name='username'>
                    </li>
                    <li>
                        <label for="">密&nbsp;&nbsp;&nbsp;码:</label>
                        <input type="password" name='pwd'>
                    </li>
                    <li>
                        <label for="">&nbsp;</label>
                        <input type="checkbox" name='remember' value='yes'>&nbsp;7天内自动登录
                    </li>
                    <li>
                        <label for="">&nbsp;</label>
                        <input type="submit" name='login' value="登录" class='login_btn'>
                    </li>
                </ul>
            </fieldset>
        </form>
    </body>
    </html>
    
    # login.php
    
    <?php
    	header("Content-Type: text/html; charset=utf-8");
        session_start();
        
        if(isset($_POST['login'])){
            $username= trim($_POST['username']);
            $password= trim($_POST['pwd']);
            if(($username== '') || ($password== '')){
                header('refresh: 3; url= login.html');
                echo '该用户名或者密码不能为空,3秒后跳转到登录页面!';
                exit;
            }elseif(($username!= 'Sunny') || ($password!= 'password')){
                header('refresh: 3; url= login.html');
                echo '用户名或者密码错误,3秒后跳转到登录页面!';
                exit;
            }elseif(($username== 'Sunny') || ($password== 'password')){
                $_SESSION['username']= $username;
                $_SESSION['islogin']= 1;
                if($_POST['remember']=='yes'){
                    setcookie("username", $username, time()+ 7*24*60*60);
                    setcookie("code", md5($username.md5($password)), time()+ 7*24*60*60);
                }else{
                    setcookie("username", '', time()-1);
                    setcookie("code", '', time()-1);
                }
                header("location: index.php");
            }
        }
    ?>
    
    # index.php
    
    <?php
    	header("Content-Type: text/html; charset=utf-8");
    	session_start();
    
    	if(isset($_COOKIE['username'])){
    		$_SESSION['username']= $_COOKIE['username'];
    		$_SESSION['islogin']= 1;
    	}
    	if(isset($_SESSION['islogin'])){
    		echo "{$_SESSION['username']}您好,欢迎来到个人中心!<br>";
    		echo "<a href='logout.php'>注销</a>";
    	}else{
    		echo "您还未登录,请<a href='login.html'>登录</a>";
    	}
    ?>
    
    # logout.php
    
    <?php
    	header("Content-Type: text/html; charset=utf-8");
        session_start();
        
        $username= $_SESSION['username'];
        $_SESSION=array();
        session_destroy();
    
        setcookie("username", '', time()-1);
        setcookie("code", '', time()-1);
        echo "{$username},欢迎您下次再来!";
        echo "重新<a href='login.html'>登录</a>";
    ?>
    
  • 相关阅读:
    服务器带宽
    nload 源码安装
    Error: rpmdb open failed
    宽带,带宽,网速
    使用speedtest-cli测量服务器带宽
    ubuntu 安装 iperf
    微信退款机制
    记录程序执行之间,接口调用时间到日志文件或数据库
    机智的查询
    如果一些复杂的数据查询不好用数组,那就用字符串拼接,灵活方便
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14009075.html
Copyright © 2011-2022 走看看