<?php
// 1,php接收参数
$userName = $_POST['userName'];
$userPwd = $_POST['userPwd'];
// 2,PHP需要操作数据库
// 通过 PHP提供的 mysqli 函数方法来操作数据库
// 本质也是通过SQL语句来操作数据库,只是执行是通过PHP程序执行
// 2-1链接MySQL数据库服务器
//                      数据库地址     账号     密码      库名       端口号
$link = mysqli_connect( '127.0.0.1' , 'root' , 'root' , 'nz2003' , 3306 );
// 2-2定义SQL语句
// 验证账号密码,只要有结果就可以,具体内容不重要,就查询显示最简单的id就可以了
$sql = "SELECT `id` FROM `user` WHERE `userName` = '{$userName}' AND `userPwd` = '{$userPwd}' ";
// 2-3执行SQL语句
// 当期执行的是查询语句,结果不会是 布尔类型
// 是一个结果集对象  包含所有结果内容的对象
$result = mysqli_query( $link , $sql );
// 2-4从 结果集对象 中 抽取提取数据 组成新的数据
$arr = mysqli_fetch_all( $result , MYSQLI_ASSOC ); 
// PHP中 通过 count() 函数来获取数组单元个数
if( count($arr) === 0 ){
    // 数组 长度为 0 表示 没有查询结果,账号密码有误
    $res = [
        'res'=>'0',
        'msg'=>'登录失败,账号密码错误',
    ];
}else{
    // 数组 长度不为 0 表示 有查询结果,账号密码正确
    $res = [
        'res'=>'1',
        'msg'=>'登录成功',
    ];
}
echo json_encode(  $res );
 
 
html页面
 const xhr = new XMLHttpRequest();
            // 定义ajax请求对象
            xhr.open( 'post' , 'login.php' );
            // post方式传参
            // 定义响应头
            xhr.setRequestHeader('content-type' , 'application/x-www-form-urlencoded');
            // 传参只传,账号密码,不穿验证码
            xhr.send(`userName=${name}&userPwd=${pwd}`);
            // 接收结果,响应体
            xhr.onload = ()=>{
                console.log( JSON.parse( xhr.response ) );
                const res = JSON.parse( xhr.response )
                if(res.res === '1'){
                    // 登录成功,可以输出提示信息
                    // 可以通过 cookie 存储本地公共数据信息
                    // 任意一个页面都知道登录成功了
                    // 会专门设定 登录的键和值 
                    // 键名一般是 login
                    // 不同的键值,表示不同的登录状态
                    mySetCookie( 'login' , 1 , 7*24*60*60);
                    // 5秒后跳转首页面
                    let int = 5;
                    setInterval(()=>{
                        oDiv.innerHTML = `您登录成功,${int}秒之后,跳转首页面`;
                        int--;
                        if(int === 0){
                            window.location.href = './index.html';
                        }
                    } , 1000 )
                    
                }
            }
        })

php简单登录的更多相关文章

  1. TODO:Laravel 内置简单登录

    TODO:Laravel 内置简单登录 1. 激活Laravel的Auth系统Laravel 利用 PHP 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管 ...

  2. 纯JSP实现简单登录跳转

    1.JSP介绍 JSP即Java Server Pages,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑.网页还能通过tags和script ...

  3. 【ADO.NET】2、各种版本的 简单登录验证

    一.简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回i ...

  4. 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)

    新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

  5. 玩转spring boot——简单登录认证

    前言 在一个web项目中,某些页面是可以匿名访问的,但有些页面则不能.spring mvc提供了HandlerInterceptor接口来应对,只需要重写preHandle方法便可以实现此功能.那么使 ...

  6. Spring Security 整合freemaker 实现简单登录和角色控制

    Spring Security 整合freemaker 实现简单登录和角色控制     写这篇文章是因为我做了一个电商网站项目,近期刚加上权限控制.整个过程很简单,在此给大家梳理一下,也算是自己对知识 ...

  7. Struts1入门实例(简单登录)

    Struts1入门实例(简单登录) 现在开始加入公司的核心项目,但由于项目开发比较早,所以使用的技术不是很新潮,前台用的还是struts1. 虽然不是什么新技术,但仍可以从中学到好多东西的.花了一个晚 ...

  8. 简单登录注册实现(Java面向对象复习)

    简单登录注册的实现(面向对象的复习) 需求: 设计用户类,包含用户名和密码两个属性 设计LoginDemo类设计用户登录方法 用户有三次登录机会,如果连续三次登录失败则退出程序 功能实现页面:     ...

  9. 【SSH进阶之路】Struts基本原理 + 实现简单登录(二)

    上面博文,主要简单的介绍了一下SSH的基本概念,比較宏观,作为刚開始学习的人可以有一个总体上的认识,个人觉得对学习有非常好的辅助功能.它不不过一个"瞭望塔".更是检验是否真正掌握全 ...

  10. tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册

    tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间 ...

随机推荐

  1. 《Effective C#》系列之(三)——充分利用C#语言的新功能

    在<Effective C#>这本书中,利用C#语言的新功能是其中一章的内容.以下是该章节的一些核心建议,以及使用C#代码示例说明: 利用自动属性:在C# 3.0中引入了自动属性,可以大大 ...

  2. 有意思的JavaScript代码写法【持续更新,欢迎留言分享有趣代码】

    filter过滤假值 [1,2,null].fiter(Boolean) 2.Object.is 健壮的相等判断 Object.is(NaN,NaN) Object.is(+0,-0) Object. ...

  3. 力扣904(Java)-水果成篮(中等)

    题目: 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 . 你想要尽可能多地收集水果.然而,农场的主人 ...

  4. 力扣378(java&python)-有序矩阵中第 K 小的元素(中等)

    题目: 给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素.请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素. 你必须找到一个 ...

  5. CF1857B Maximum Rounding 题解

    题目描述 给定一个自然数 \(n\),可以对任意一位进行四舍五入,可以进行任意次,求能得到的最大数.(这里的 \(n\) 没有前导零) 思路 首先我们发现,如果我们将其中一位进位了,那后面的所有位都会 ...

  6. 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    那提到Redis我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请下一位受害者. 面 ...

  7. 2021~2022Apache大数据相关项目盘点

    一.晋升为Apache TLP(Top-Level Project)的大数据相关项目 1.1.Apache DataSketches (20210203) 1.2.Apache Gobblin (20 ...

  8. 二、Doris架构原理

    Doris是一个MPP的OLAP系统,以较低的成本提供在大数据集上的高性能分析和报表查询功能. MPP (Massively Parallel Processing),即大规模并行处理.简单来说,MP ...

  9. 02 go-zero入门--微服务demo

    参考文档: https://go-zero.dev/cn/docs/advance/rpc-call 视频地址: https://space.bilibili.com/387126464/channe ...

  10. HDU 多校 2023 Round #6 题解

    HDU 多校 2023 Round #6 题解 \(\text{By DaiRuiChen007}\) A. Count Problem Link 题目大意 求有多少个长度为 \(n\),字符集大小为 ...