• 完成注册功能


    1.js文件: onclick函数return True时才提交表单,return False时不提交表单。

    function fnregister() {
                var testName=document.getElementById("username")
                var errorName=document.getElementById("errorName")
                var testPassWord=document.getElementById("userpassword")
                var errorPassWord=document.getElementById("errorPassWord")
    
                var judgement=true;
         
                errorName.innerHTML = "<br>";
                errorPassWord.innerHTML = "<br>";
    
               if (testName.value.length < 6||testName.value.length > 12) {
                    errorName.innerHTML = "用户名必须是6-12位";
                    judgement=false
                   return judgement
                }
               else if ((testName.value.charCodeAt(0) >= 48) && (testName.value.charCodeAt(0) <= 57)) {
                    errorName.innerHTML = "用户名首字母不能为数字";
                    judgement=false
                   return judgement
                }
    
               else for (var i=0; i< testName.value.length; i++) {
                        if (((testName.value.charCodeAt(i) < 48) || (testName.value.charCodeAt(i) > 57)) && ((testName.value.charCodeAt(i) < 97) || (testName.value.charCodeAt(i) > 122))) {
                            errorName.innerHTML = "用户名只能包含字母和数字";
                            judgement=false
                            return judgement
                        }
    
                    }
         
                var testPassWord2=document.getElementById("again")
    
                var error=document.getElementById("errorRegister")
    
                if (testPassWord.value.length < 6||testPassWord2.value.length > 12) {
                   errorPassWord.innerHTML = "密码应为6-12位";
                   judgement=false
                   return judgement
                }
                else if(testPassWord1.value==testPassWord2.value){
                    error.innerHTML = "注册成功";
                    return judgement
                }
                else{
                    error.innerHTML = "两次输入的密码不一致";
                    judgement=false
                    return judgement
                }
            }
    

      

      

    2.html文件:

    a.<form>中设置 action和method="post"

    b.<input> 中设置 name

    <form action="{{ url_for('login1') }}" method="post">
               <div class="inputStyle">
                <input class="inputFramework" type="text" id="username" name="username" placeholder="请输入用户名">
               </div>
    
               <div class="inputStyle">
                <input class="inputFramework" type="password" id="regisPassWord" name="password" placeholder="请输入您的密码">
               </div>
    
                <div class="inputStyle">
                <input class="inputFramework" type="password" id="again" placeholder="请再次输入您的密码">
               </div>
    
               <div>
                    <br>
                   <label><input id="loginButton" type="button" value="注册" onclick="fnregister();"/></label>
               </div>
    
               <div class="errorBox" id="errorRegister">
               </div>
         </form>
    

      

      

    3.主py文件中:

    a.from flask import  request, redirect, url_for

    b.@app.route('/regist/', methods=['GET', 'POST’])

    def regist():

       if request.method == 'GET':

            return render_template('regist.html')

       else:

            username = request.form.get(‘username’)#获取form中的数据

            判断用户名是否存在

            存到数据库中

            redirect重定向到登录页

    @app.route('/register/',methods=['GET','POST'])
    def register():
        if request.method=="GET":
            return render_template("register.html")
        else:
            username=request.form.get("username")
            password=request.form.get("password")
            user=User.query.filter(User.username==username).first()
            if user:
                return 'username existed'
            else:
                user = User(username='mavenlon', password='666666')
                db.session.add(user)
                db.session.commit()
                return redirect(url_for('login'))
    

      

  • 相关阅读:
    11.tp5常见漏洞
    10.tp3常见漏洞
    1.linux分析排查
    3.docker镜像探究
    1.docker概述
    4.docker常用命令
    2.docker安装
    3.windows分析排查
    9.thinkphp框架模型
    2.win2k8搭建asp网站
  • 原文地址:https://www.cnblogs.com/mavenlon/p/7850079.html
Copyright © 2020-2023  润新知