RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1045883
Accepted
HTO HOT
HTO HOT
Asked:2020-11-14 12:15:20 +0000 UTC2020-11-14 12:15:20 +0000 UTC 2020-11-14 12:15:20 +0000 UTC

表单无法正常工作 PHP JS

  • 772

该站点每隔一段时间工作一次!(如果我写了一个不在数据库中的登录名,那么它不会显示任何内容,如果有这样的登录名,那么它会显示一个错误,但是如果在这个错误之后你输入了一个登录名不在数据库中,则显示“您已注册”)

我是新人,请帮忙。

PHP:

    include 'includes/db.php';
    $data = $_POST;
                        if(isset($data['do-signup']) ){

                            $errors = array();
                            if(R::count('users','login = ? OR password = ?',array($data['login'],password_hash($data['password'],PASSWORD_DEFAULT))) > 0){
                                $errors[] = '<div class="has-error it-error">Такой пользователь или пароль уже существует</div>';
                            }
                            if(empty($errors)){
                                $user = R::dispense('users');
                                $user->login = $data['login'];
                                $user->password = password_hash($data['password'],PASSWORD_DEFAULT);
                                R::store($user);
                                echo 'Вы зареганы';
                                header('Location: /');
                            }else{
                                echo 'Одни ошибки в коде';
                            }
                        }
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="/media/css/style.css">
    <link rel="stylesheet" href="/media/fonts/fonts.css">
    <link href="https://fonts.googleapis.com/css?family=Oswald:600&display=swap" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Регистрация на forum</title>
</head>
<body>
    <header>
    <div class="conteiner">
        <a href="index.php" class="main-page-link">MAIN PAGE</a>
        <div class="header-text">MY FORUM</div>        
    </div>
    </header>

    <div class="conteiner">
        <div class="signup_login_page">
            <div class="wrap">
                <span class="reg-text">Регистрация</span>
                <form class="signup-and-login-form signup-form" action="/signup.php" method="POST">
                        <?php if(!empty($errors)){
                                echo array_shift($errors);

                            }
                            ?>

                    <input type="text" class="input-form has-sucsess" placeholder="Введите логин" name="login" id="login">
                    <input type="password" name="password" placeholder="Введите пароль"  class="input-form" id="password">
                    <input type="password" name="confirm_password" placeholder="Введите пароль"  class="input-form" id="confirm_password">
                    <label for="do-signup" name="signup" class="do-signup-label">SIGN UP</label>
                    <input type="submit"  name="do-signup" value="displey-none" id="do-signup">
                </form>    
            </div>
        </div>
    </div>
    <?php require_once 'includes/footer.php' ?>
    <script src="libs/jQuery.js"></script>
    <script src="media/js/register.js"></script>
</body>
</html>

和 JS:


    var passwordRegex = /^[A-Za-z0-9_-]{6,18}$/;
    var loginRegex = /^[A-Za-z0-9_-]{4,16}$/;
    var validPassword = false;
    var validConfirm = false;
    var validName = false;
    function validationlogin(){
        var name = $('#login').val();
        if(loginRegex.test(name) && name != ''){
        validName=true;
        $('#login').removeClass('has-error').addClass('has-sucsess');
        }else{
        validName=false
        $('#login').removeClass('has-sucsess').addClass('has-error');
        }
        if(name ==''){
            validName = false;
            $('#login').removeClass('has-error').addClass('has-sucsess');
        }
    };
    setInterval(validationlogin , 300);


    function validationpassword(){
        var password = $('#password').val();

        if(passwordRegex.test(password) && password != '' ){
            validPassword=true;
            $('#password').removeClass('has-error').addClass('has-sucsess');
        }else{
            validPassword=false;
            $('#password').removeClass('has-sucsess').addClass('has-error');
        }
        if(password ==''){
            validPassword = false;
            $('#password').removeClass('has-error').addClass('has-sucsess');
        }
    };
    setInterval(validationpassword , 300);

    function validationconfirm(){
        var confirm = $('#confirm_password').val();
        var password = $('#password').val();
        if(confirm == password){
            validConfirm = true;
            $('#confirm_password').removeClass('has-error').addClass('has-sucsess');
        }else{
            $('#confirm_password').removeClass('has-sucsess').addClass('has-error');
        }
        if(confirm == ''){
            validConfirm = false;
            $('#confirm_password').removeClass('has-error').addClass('has-sucsess');
        }
    }
    setInterval(validationconfirm , 300);


    $('.signup-form').submit(function(event){
        event.preventDefault();
        if(validName == true && validPassword == true && validConfirm == true){
            $('.signup-form').unbind('submit').submit();
        }
    });
    $('.login-form').submit(function(event){
        event.preventDefault();
        if(validName == true && validPassword == true){
            $('.login-form').unbind('submit').submit();
        }
    })
});

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    user176262
    2020-11-14T12:25:55Z2020-11-14T12:25:55Z

    通过用户操作和调用取消表单提交事件.submit(),您可以防止name=value按钮进入请求数据,因此阻止

    if( isset($data['do-signup']) ) {
    

    执行不起作用。


    $('.signup-form').submit(function(event) {
      if (!validName || !validPassword || !validConfirm) {
        return false;
      }
    });
    
    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5