AJAX+PHP+MYSQL实现登录页面

前端页面


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ajax提交数据</title>
    <script src="jquery-1.11.3.js"></script>
    <script src="model.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }


        .box {
            width: 350px;
            height: 200px;
            border: 1px solid purple;
            margin: 5% auto;
            padding: 2%;
        }


        .input {
            height: 30px;
        }


        .sub, .log {
            margin-left: 3%;
            width: 100px;
            height: 30px;
        }
    </style>
</head>
<body>
<div>
    <div class="box">
        用户名:<input type="text" name="username" id="inname" class="input"> <br><br>
        密&nbsp;码:<input type="password" name="pwd" id="inpwd" class="input"> <br><br>
        <input type="submit" value="注册" class="sub">
        <input type="submit" value="登录" class="log">
    </div>
    <script>
        $(document).ready(function () {
            $(".sub").click(function () {
                var iname = $("#inname").val();
                var ipwd = $("#inpwd").val();
                var data = {
                    name: iname,//变量:值
                    pwd: ipwd
                };
                Model["register"](data, function ($res) {
                    if ($res.code === 0) {
                        location.href = "lo_suc.html";
                    }
                    if ($res.code === 1) {
                        alert($res.msg)
                    }
                }, function () {


                });
            });
            $(".log").click(function () {
                var iname = $("#inname").val();
                var ipwd = $("#inpwd").val();
                var data = {
                    name: iname,//变量:值
                    pwd: ipwd
                };
                Model["login"](data, function ($res) {
                    if ($res.code === 0) {
                        location.href = "delucg.html";
                    }
                    if ($res.code === 1 || $res.code === 2) {
                        alert($res.msg);
                    }
                }, function () {


                });
            })
        })
    </script>
</div>
</body>
</html>


model.js

var Model = (function () {
    var map = {
        "register": {url: "ajax.php?q=register", type: "post"},
        "login": {url: "ajax.php?q=login", type: "post"}
    };
    var handler = {};//对象
    for (var name in map) {//name =>register,login,得到后面url
        handler[name] = (function (obj) {//obj就是map[name] || {}的自调用
            var reqtype = obj['type'] || 'post';
            var url = obj['url'] || '';
            var fun = function (param, success, error) {//ajax传递数据
                $.ajax({
                    type: reqtype,
                    url: url,
                    dataType: "json",
                    data: param,
                    success: function (data) {
                            success(data);
                    },
                    error: error
                });
            };
            return fun;
        })(map[name] || {});//name 就是前端传过来的值
    }
    return handler;
})();


后端页面

<?php
$q = $_GET["q"];
$names = $_POST["name"];//拿到变量的值
$pwd = $_POST["pwd"];
$res = array(
    "name" => $names,
    "pwd" => $pwd
);
//连接数据库
$server = "127.0.0.1";
$username = "root";
$password = "";
$db_name = "viser";
$conn = new mysqli($server, $username, $password, $db_name);
if ($conn->connect_errno) {
    echo "连接失败";
} else {
    //创建数据表
        if($q == "register"){
            if ($names == "" || $pwd == "") {//注册
                echo "用户名或者密码不能为空";//用户名为空
            }else{//用户名不为空
//        echo "可以进行下一步";
                $sql = "SELECT * FROM login2 WHERE lo_name='$names'";
                $result = mysqli_query($conn,$sql);
                $row = mysqli_fetch_array($result);
                if($row){
                    echo json_encode(array('code'=>1,'msg'=>"用户名已经存在"));
                }else{
                    $sql = "INSERT INTO login2 (lo_name,lo_pwd)VALUES ('$names','$pwd')";
                    if ($conn->query($sql) === TRUE) {
                        echo json_encode(array('code'=>0));
                    } else {
                        echo "失败";
                    }
                }
            }
        }
        if($q == "login"){
            $sql = "SELECT * FROM login2 WHERE lo_name='$names'";//查询
            $result = mysqli_query($conn, $sql);//执行语句
            $row = mysqli_fetch_array($result);//拿到结果
            if ($row) {
                if ($pwd == $row['lo_pwd']) {
                    echo json_encode(array('code'=>0));
                } else {
                    echo json_encode(array('code'=>1,"msg"=>"密码不正确"));
                }
            } else {
                echo json_encode(array('code'=>2,"msg"=>"用户不存在"));
            }
        }
}
$conn->close();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值