登录功能代码(前端+后端)

8 篇文章 0 订阅
7 篇文章 0 订阅

1.实现思路

  • 在登录页面用表单提交数据的方式,向后端发送用户名和密码;
  • 在数据库的用户表中查询是否有前端传来的用户名和密码,并向前端返回提示信息
  • 登录成功后跳回原页面

2.实现代码

登录页面HTML代码

<form id="login">
    用户名: <input id="txtName" name="uname" value=""/><br>
    密码: <input id="txtPwd" type="password" name="upwd" value=""/><br>
    <input type="button" value="登录">
    <input type="reset" value="取消">
</form>

php处理数据

<?php
//data/user/login.php
header("Content-Type:application/json"); 
require_once("../init.php");

//获取用户名和密码
@$uname=$_REQUEST["uname"];
@$upwd=$_REQUEST["upwd"];

//查询数据库中用户表的数据,并返回提示信息
if($uname && $upwd){ 
    $sql="SELECT * FROM xxx_user WHERE uname='$uname' and binary upwd='$upwd'"; 
    //密码区分大小写,加binary
    $result=mysqli_query($conn,$sql);
    $row=mysqli_fetch_row($result); 
    if($row!=null){
    //如果存在相应的用户名和密码
        session_start(); 
        //PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置
        //把用户信息存储到 PHP session 中之前,首先必须启动会话       
        $_SESSION["uid"]=$row[0]; 
        //获取uid
        //存储和取回session变量的正确方法是使用$_SESSION变量
        echo json_encode(["ok"=>1]); 
        //登录成功返回的提示信息
    }else
        echo json_encode(["ok"=>0,"msg"=>"用户名密码不正确!"]);
        //登录失败返回的提示信息
}

登录成功后跳转回当前页面(jQuery代码)

$(()=>{
    $("#login>:button").click(()=>{
        //发ajax请求,提交用户名和密码
        $.post(
            "data/users/login.php",
            //规定连同请求发送到服务器的数据
            {
                uname:$("#txtName").val(),
                upwd:$("#txtPwd").val()
            }
        ).then(data=>{
                if(data.ok==1){
                    alert("登录成功");
                    location=document.referrer 
                    //跳回原页面,referrer 属性可返回载入当前文档的文档的 URL
                }else
                    alert("登录失败!"+data.msg);
            });
    });
});

更多内容,欢迎关注微信公众号“让知识成为资产”。

  • 14
    点赞
  • 195
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值