首页 > 其他分享 >ajax+tp5 详情页跳转/实现登录--注册

ajax+tp5 详情页跳转/实现登录--注册

时间:2022-09-20 19:33:54浏览次数:75  
标签:function username -- focus verifyimg tp5 跳转 input password

 

 需求:点击资料下载后     跳转到登录页 登录成功 下载资料,   有账号即可登录   无账号即需注册!

   <form action="" method="POST" role="form"  class="login-form" id="form">
        <legend>用户登录</legend>

        <div class="form-group zh">
            <input type="text" class="focus_input" id="username" value="" name="username" autocomplete="off" placeholder="请输入账号">
        </div>
        <div class="form-group mm">
            <input type="password"  id="password" value="" name="password" autocomplete="off" class="focus_input"  placeholder="请输入密码">
        </div>
        <div class="form-group yzm">
            <input type="text" class="focus_input" name="verify" id="verify" placeholder="验证码"  autocomplete="off" >

            <div>
                <img class="verifyimg reloadverify" alt="点击切换" src="/Home/Download/verify.html" />  

            </div>
        </div>
        <div id="tipscont" style="height:25px; color:red;"></div>
        <button type="button" class="btn btn-primary send">登录</button>
    </form>

后台详情页接路径:

      $url = $_SERVER['REQUEST_URI'];
        session_start();
        $_SESSION['url'] = $url;

ajax前台处理:

$(".send").click(function () {
        if (!$('#username').val()) {
            $('#tipscont').html('请输入姓名')
            $('#username').focus();
            return false
        }
        if (!$('#password').val()) {
            $('#tipscont').html('请输入密码')
            $('#password').focus();
            return false
        }
        if (!$('#verify').val()) {
            $('#tipscont').html('请输入验证码')
            $('#verify').focus();
            return false
        }
        $.ajax({
            type: "POST",
            dataType: "json",
            url: '/download/login',
            data: $('#form').serialize(),
            success: function (data) {
                if (data.code == 1) {
                    alert("登录成功");
                    window.location.href= data.url;
                } else {
                    $('.verifyimg').click();
                    $('#tipscont').html(data.msg)
                }
            }
        })
    })



      $(function () {             $('.focus_input').blur(function () {                 $(this).parent().removeAttr('style');             })
            $('.focus_input').focus(function () {
                $(this).css('border', '0');
                $(this).parent().css('borderBottom', '1px solid #30b097');
            })

            //初始化选中用户名输入框
            $("#itemBox").find("input[name=username]").focus();
            //刷新验证码
            var verifyimg = $(".verifyimg").attr("src");
            $(".reloadverify").click(function ()
            {
                if (verifyimg.indexOf('?') > 0) {
                    $(".verifyimg").attr("src", verifyimg + '&random=' + Math.random());
                } else {
                    $(".verifyimg").attr("src", verifyimg.replace(/\?.*$/, '') + '?' + Math.random());
                }
            });
            $(".announ dl dd").bind('click', function ()
            {
                var id = $(this).attr("id");


                $.colorbox({href: "{:U('AnnounInFo')}?id=" + id + "&Rand=" + Math.random(), iframe: true, title: "系统公告", width: 560, height: 420, scrolling: false, opacity: 0.5});


            })
            //placeholder兼容性
            //如果支持
            function isPlaceholer() {
                var input = document.createElement('input');
                return "placeholder" in input;
            }
            //如果不支持
            if (!isPlaceholer()) {
                $(".placeholder_copy").css({                     display: 'block'
                })
                $("#itemBox input").keydown(function () {
                    $(this).parents(".item").next(".placeholder_copy").css({                         display: 'none'
                    })
                })
                $("#itemBox input").blur(function () {                     if ($(this).val() == "")                     {                         $(this).parents(".item").next(".placeholder_copy").css({                             display: 'block'                         })                     }                 })             }             $(".placeholder_copy").click(function () {
                $(this).hide();
                $(this).prev('div').find('input').focus();             })         });

后台处理:

 //登录
    public function login() {
        if (IS_POST) {
            $username = $_POST['username'];
            $password = $_POST['password'];
            $verify = $_POST['verify'];
            if (!$username) {
                $this->jsonEncode(array('msg' => '账号不能为空', 'code' => '-1'));
            }

            if (!$password) {
                $this->jsonEncode(array('msg' => '密码不能为空', 'code' => '-1'));
            }

            /* 检测验证码 TODO: */
            if (!$this->check_verify($verify)) {
                $this->jsonEncode(array('msg' => '验证码输入错误', 'code' => '-1'));
            }

            $user = M("Member")->where("username='{$username}'")->find();
            if (!$user['uid']) {
                $this->jsonEncode(array('msg' => '此账号不存在!', 'code' => '-1'));
            }
            $res = M('Member')->where("password='" . $this->frontthinkUcenterMd5($password, C(DATA_AUTH_KEY)) . "' and uid=" . $user['uid'])->find();
            if (!$res['uid']) {
                $this->jsonEncode(array('msg' => '密码错误!', 'code' => '-1'));
            }

            $_SESSION['username'] = $username;
            $_SESSION['yh_uid'] = $res['uid'];
            $this->autoLogin($user);
            $userinfo = array('username' => $username, 'password' => $password, 'url' => $urldata);
            $this->jsonEncode(array('msg' => '登录成功', 'code' => '1', 'userinfo' => json_encode($userinfo), 'url' => $_SESSION['url']));
        }
        $this->display();
    }


    public function jsonEncode($arr) {         echo json_encode($arr);         exit;     }     public function frontthinkUcenterMd5($str, $key = 'ThinkUCenter') {         return '' === $str ? '' : md5(sha1($str) . $key);     }
 

 

前台资料下载页面处理:

                            <a href="login.html">
                              <if condition=" $info.file_url ">
                                <a href="/download/downloadFile?fileurl={$info.file_url}">
                                        <div class="xiazai">
                                    <p>资料下载</p>
                                    <i class="iconfont icon-ziliaoxiazai"></i>
                                </div>
                                </a>
                             </if>

标签:function,username,--,focus,verifyimg,tp5,跳转,input,password
From: https://www.cnblogs.com/gaoyusui/p/16712204.html

相关文章

  • 对软件工程的理解
    作为一名来自安泰经济与管理学院的学生,我认为软件工程运用了许多管理学的基本方法和模型,例如PDCA流程,瀑布模型等来对软件开发的整个流程进行规范化的管理来让软件的开发、......
  • 9 月杂题选做
    觉得比较有意思的题,坑LuoguP6824「EZEC-4」可乐\(k\)是已知的,我们要确定一个\(x\),不妨直接枚举这个\(x\)。显然\(x\leq2^{21}\),然后涉及异或,考虑字典树。......
  • mysql(8)事务
    事务简介事务是一组操作的集和,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销请求,即这些操作要么同时成功,要么同时失败。mysql默认执行......
  • 实验2:Open vSwitch虚拟交换机实践
    一.基本要求/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;2.使用Mininet搭建SDN拓扑添加流表s1添加流表22测试连......
  • CF1363F题解
    好妙的dp-1的情况就是字母构成的可重集不同我们将一次操作抽象成将一个字符向前移动若干格我们设f[i][j]表示s串到了第i个字母,t串到了第j个字母的最小操作次数1.将第i......
  • 介绍与个人规划
    一、自我介绍   大家好,我是袁志朋,来自湖南怀化,平时也没什么爱好也就是玩玩游戏,看看小说,弹琴。很高兴·来到中南林业科技大学涉外学院,看到各位,我觉得来到这里很开心,遇......
  • mybatisplus打印SQL日志 【mybatisplus专栏】
    一、mybatisplus如何打印SQL日志:在SpringBoot项目中添加以下配置#方式一mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImp......
  • 第一篇随笔
    你好呀,这里是教士.这第一篇随笔老实说就是给博客当"招财猫"的haha就这样吧,我也不知道写什么了~啊,我自己也搭建了个网站,可以来看看呀:教士的小网站~主页(bywj2853.......
  • 职业生涯规划
    一、自身的情况1.1编程学习经历我是来自2020级软件工程11班的袁俊杰,之前就读于湖南软件职业技术大学,在该校学的专业是软件技术(Java应用软件开发方向),在学校也学了许多......
  • Linux命令2
    目录:1、复制文件或者目录-cp2、rm删除3、改名mv4、找文件1-1:which2-1:find(重点)2-2:处理动作5、系统信息6、总结复制文件或目录-cp格式:cp想要复制......