<?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. Linq大白话深入浅出从零基础到手写开源工具兵贵神速系列(一)——为啥需要Linq

    所有的技术创新都是为了解决编程实践中的难点和痛点! 如果我们不懂得这项技术所要解决的难点和痛点,我们在使用这项技术的时候就很可能走偏,在细节末节上隔靴搔痒,耗费很长的时间还掌握不了这项技术的精髓! 而 ...

  2. .Net与AI的强强联合:AntSK知识库项目中Rerank模型的技术突破与实战应用

    随着人工智能技术的飞速发展,.Net技术与AI的结合已经成为了一个新的技术热点.今天,我要和大家分享一个令人兴奋的开源项目--AntSK,这是一个基于.net平台构建的开源离线AI知识库项目.在这个项 ...

  3. 第 10 章 使用pyecharts 进行数据展示

    第 10 章 使用pyecharts 进行数据展示 10.1 安装 pyecharts pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是百度开源的一个数据可视化JS ...

  4. [FAQ] jQuery prop 与 attr 的区别

    .prop() 获取匹配的元素集中第一个元素的属性(property)值 或 设置每一个匹配元素的一个或多个属性. 当设置 selectedIndex, tagName, nodeName, node ...

  5. 这款 AI 代码辅助插件真不错,还能帮你发现 bug!

    大家好,我是树哥. 随着 ChatGPT 风靡全球之后,编程界也迎来了许多代码辅助工具,有非常出名的 Github Copilot 工具.今天,树哥给大家介绍一款免费的代码辅助插件,它无需代理上网,直 ...

  6. WPF 解决 ObservableCollection 提示 Cannot change ObservableCollection during a CollectionChanged event 异常

    本文告诉大家在使用 ObservableCollection 时,抛出 InvalidOperationException 异常,提示 Cannot change ObservableCollecti ...

  7. 应用zabbix的实时导出(real-time export)功能

    说明 zabbix作为监控软件,有时也会需要获取历史数据作进一步的分析,通常可以采用3种办法: 通过zabbix API定期获取(通过web) 通过后端数据库定期读取(通过db) 应用实时导出功能配合 ...

  8. ERROR: Error installing mysql2: ERROR: Failed to build gem native extension [@Ubuntu 15.04]

    参考文章: https://blog.csdn.net/a60919820/article/details/101847890 安装mysql 参考:https://www.cnblogs.com/h ...

  9. jquery中.html(),.text()和.val()的差异总结

    .html(),.text(),.val()三种方法都是用来读取选定元素的内容: .html()是用来读取元素的html内容(包括html标签): .text()用来读取元素的纯文本内容,包括其后代元 ...

  10. 泊松盘采样(Poisson Disk Sampling)生成均匀随机点

    当需要生成随机点且要求随机点自然均匀的分布时,使用泊松盘采样就较为适合. 但该方法与统计学上的概念关联不大,这个只相当于点在面积上服从泊松分布, 而实现这个结果有很多做法. 最终效果: 圆形为含半径的 ...