博主信息
博文 35
粉丝 2
评论 0
访问量 27421
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
cookie and session--0420补交作业
小学僧的博客
原创
909人浏览过

cookie保存在客户端,session保存在服务器端,cookie目的可以跟踪会话,也可以保存用户喜好或者保存用户名密码
session用来跟踪会话

界面如图所示:

cookie.jpg

1.登录界面

实例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <style type="text/css">
    body{
        font-family: microsoft yahei;
    }
        .login{
            background-color: #F5F5F5;
            width: 300px;
            border: 1px solid #000;
            border-radius: 2px;
            margin: auto;
        }
        .login span,p{
            margin-left: 15px;
        }
        button{
            margin-left: 120px;
            width: 60px;
            height: 25px;
            border: none;
        }
    </style>
</head>
<body>
    <div class="login">
        <p>
            <label for="user">username:</label>
            <input type="text" name="user" id="user">
        </p>
        <p>
            <label for="pass">password:</label>
            <input type="password" name="pass" id="pass">
        </p>
        <p>
            <label for="record">remeber me</label>
            <input type="checkbox" name="record" id="record" checked>
        </p>
        <p>
            <button>login</button>
 </p>
    </div>
</body>
</html>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
    $('button:first').click(function () {
        if($('#user').val().length==0){
            $('button:first').parent($('span').remove())
            $('button:first').after('<p><span style="color: #AA1111;">username is request!</span></p>')
            $('#user').focus()
        }else if($('#pass').val().length==0){
            $('button:first').parent($('span').remove())
            $('button:first').after('<p><span style="color:#AA1111;">password is request!</span></p>')
            $('#pass').focus()
        }else {
            $('button:first').parent($('span').remove())

            var record=0
            if($('input[type=checkbox]').prop('checked')){
                record=1
            }
            $.ajax({
                url:'check.php?m=login',
                type:'POST',
                dataType:'JSON',
                data:{
                    'user':$('#user').val(),
                    'pass':$('#pass').val(),
                    'record':record
                },
            success:function (msg,status,xhr) {
                    if(msg['status']==0){
                        $('button:first').parent($('span').remove())
                        $('button:first').after('<p><span style="color:green;">success  skiping...</span></p>')
                        setTimeout(function () {
                            $(window).attr('location','user.php')
                        },1500)
                    }else if(msg['status']==1){
                        $('button:first').parent($('span').remove())
                        $('button:first').after('<p><span style="color:#ff0000;">password error!</span></p>')
                        setTimeout(function () {
                            $('button:first').parent($('span').remove())
                        },1500)
                    }
                }
            })
        }
    })
})
</script>

运行实例 »

点击 "运行实例" 按钮查看在线实例

2. check.php

实例

<?php
session_start();
if(!isset($_SESSION['user_id'])) {
    if ($_GET['m'] == 'login') {
        $conn = mysqli_connect('127.0.0.1', 'root', 'root', 'ttest') or die('failed');
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $record = $_POST['record'];

        $query = "SELECT `user_id`,`userName` FROM `user` WHERE `userName`='{$user}' AND `userPass`='{$pass}'";

        $res = mysqli_query($conn, $query);

        if (mysqli_num_rows($res) == 1) {
            if ($record == 1) {
                $row = mysqli_fetch_array($res);
                $_SESSION['user_id'] = $row['user_id'];
                $_SESSION['userName'] = $row['userName'];
                setcookie('user_id', $row['user_id'], time() + 3600);
                setcookie('userName', $row['userName'], time() + 3600);
            }
            echo json_encode([
                'status' => '0',
                'reg_msg' => 'success'
            ]);
        } else {
            echo json_encode([
                'status' => '1',
                'reg_msg' => 'error'
            ]);
        }
    } else {
        echo json_encode(['msg' => 'error!']);
    }
}else{
    header('Location:user.php');
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

3.user.php

实例

<?php
session_start();
if(!isset($_SESSION['user_id'])) {
    if ($_GET['m'] == 'login') {
        $conn = mysqli_connect('127.0.0.1', 'root', 'root', 'ttest') or die('failed');
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $record = $_POST['record'];

        $query = "SELECT `user_id`,`userName` FROM `user` WHERE `userName`='{$user}' AND `userPass`='{$pass}'";

        $res = mysqli_query($conn, $query);

        if (mysqli_num_rows($res) == 1) {
            if ($record == 1) {
                $row = mysqli_fetch_array($res);
                $_SESSION['user_id'] = $row['user_id'];
                $_SESSION['userName'] = $row['userName'];
                setcookie('user_id', $row['user_id'], time() + 3600);
                setcookie('userName', $row['userName'], time() + 3600);
            }
            echo json_encode([
                'status' => '0',
                'reg_msg' => 'success'
            ]);
        } else {
            echo json_encode([
                'status' => '1',
                'reg_msg' => 'error'
            ]);
        }
    } else {
        echo json_encode(['msg' => 'error!']);
    }
}else{
    header('Location:user.php');
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

4.登出logout.php

实例

<?php
session_start();
if(isset($_SESSION['user_id'])){
    setcookie('user_id','',time()-3600);
    setcookie('userName','',time()-3600);
    $_SESSION = [];
    session_destroy();
    setcookie('PHPSESSID','',time()-3600);
}
header('Location:login.html');

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学