There is a registration form, it generally works, only if the user corrects his mistake and makes a new one, where he corrected the error, it will appear again, well, and a new one, respectively. The problem is that he fixed the old one, I think the problem in ajax in this line
$("#error").text($("#error").text() + " + " + data[i]);
I think the array should be somehow reset with each click, how to do it, I do not know, help, please.
<?php header('Content-Type: application/json; charset=utf-8'); mysql_connect("localhost", "", ""); mysql_select_db(""); if(!empty($_POST['button'])) { $err = array(); # проверям логин if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login'])) { $err[] = "Логин может состоять только из букв английского алфавита и цифр"; } if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30) { $err[] = "Логин должен быть не меньше 3-х символов и не больше 30"; } if(strlen($_POST['password']) < 3 or strlen($_POST['password']) > 30) { $err[] = "пароль должен быть не меньше 3-х символов и не больше 30"; } if ($_POST['password'] !== $_POST['rpassword']) { $err[] = "пароли не совпадают"; } if(!isset($_POST['email'])) { $err[] = "емаил не передан"; } if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $err[] = "Заполните коректно поле емаил"; } # проверяем, не сущестует ли пользователя с таким именем $query = mysql_query("SELECT COUNT(id) FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."'"); if(mysql_result($query, 0) > 0) { $err[] = "Пользователь с таким логином уже существует в базе данных"; } # Если нет ошибок, то добавляем в БД нового пользователя if(count($err) == 0) { $login = ($_POST['login']); $email = (trim($_POST['email'])); $password = md5(md5(trim($_POST['password']))); $sql = mysql_query("INSERT INTO `users` (`login`, `e-mail`, `paroli`) VALUES ('$login', '$email', '$password')"); if($sql == true) { echo 0; } elseif ($sql == false) { echo 1; } else { echo"ничего не пойму"; } } else if (count($err) > 0){ $err = array(); # проверям логин if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login'])) { $err[] = "Логин может состоять только из букв английского алфавита и цифр"; } if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30) { $err[] = "Логин должен быть не меньше 3-х символов и не больше 30"; } if(strlen($_POST['password']) < 3 or strlen($_POST['password']) > 30) { $err[] = "пароль должен быть не меньше 3-х символов и не больше 30"; } if ($_POST['password'] !== $_POST['rpassword']) { $err[] = "пароли не совпадают"; } if(!isset($_POST['email'])) { $err[] = "емаил не передан"; } if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $err[] = "Заполните коректно поле емаил"; } # проверяем, не сущестует ли пользователя с таким именем $query = mysql_query("SELECT COUNT(id) FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."'"); if(mysql_result($query, 0) > 0) { $err[] = "Пользователь с таким логином уже существует в базе данных"; } echo json_encode($err); } } ?>
<!DOCTYPE html> <html> <head> <title>Регистрация</title> <meta http-equiv="Content-Style-Type" content="text/css" charset="utf-8"> <meta name="keywords" content="Ключевые слова для поисковиков"> <meta name="description" content="Описание сайта"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" type="text/css" href="1/my_room/css/style.css" /> <link rel="stylesheet" type="text/css" href="style.css" /> <link rel="stylesheet" type="text/css" href="1/my_room/css/bootstrap.min.css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <script src="1/my_room/js/bootstrap.min.js"></script> <!--<style> .error, .success{ display: block; position: absolute; top:0; left:0; padding: 7px 5px 7px 5px; border-bottom-right-radius: 10px; display: none; } .error{ background: red; border:1px solid #b23c3c; } .success{ background: #black; border: 1px solid #326db5; } </style>--> </head> <body> <script> $(document).ready(function() { $("#clickButtonForm").bind("click", function () { $.ajax ({ url: "ajax.php", type: "POST", data: {login: $("#login").val(), password: $("#password").val(), rpassword: $("#rpassword").val(), email: $("#email").val(), button: $("#clickButtonForm").val()}, beforeSend: function (){ $("#information").text ("Expectaton data...") }, success: function (data) { //debugger; //var respons = JSON.parse(data); // в случае, когда пришло success. Отработало без ошибок if (data === 0) { $("#error").text("data").removeClass("error").addClass("success").show().delay(8000).fadeOut(3000); // $("#error").text("You success registration").removeClass("error").addClass("success").show().delay(3000).fadeOut(3000); // в случа ошибок } else if(data == 1){ $("#error").text("Occured error speak administraor").removeClass("success").addClass("error").show().delay(8000).fadeOut(3000); } else { for (var i=0; i<data.length; i++) { $("#error").text($("#error").text() + " + " + data[i]); } //$("#error").removeClass("success").addClass("error").show().delay(8000).fadeOut(3000); } } }); }); }); </script> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-12 col-lg-4"> <div class="panel"> <form role="form" class="formForMe" id="register_form" method="post"> <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span> <input type="text" class="input form-control" id="login" placeholder="Введите Ваш будующий логин для входа" required autofocus /> </div> <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span> <input type="password" id="password" class="input form-control" placeholder="Введите Ваш пароль для входа" required /> </div> <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span> <input type="password" name="rpassword" id="rpassword" class="form-control" placeholder="Повторите пароль для входа" required /> </div> <div class="input-group"> <span class="input-group-addon"><span class="add-on">@</span></span> <input type="text" class="input form-control" id="email" placeholder="Ваш существующий email" required autofocus /> </div> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-12"> </div> <div class="col-xs-6 col-sm-6 col-md-6 col-lg-12"> <button type="button" value="1" class="clickButtonForm btn btn-labeled btn-success" id="clickButtonForm"> <span class="btn-label"><i class="glyphicon glyphicon-ok"></i></span>Регистрация</button> <button onclick="location.href='../index.html'" type="submit" class="btn btn-labeled btn-danger"> <span class="btn-label"><i class="glyphicon glyphicon-remove"></i></span>Назад</button> </div> </div> <p> <a href="#">Забыли свой пароль?</a></p> </form> </div> </div> </div> </div> <span id="information" class=""></span> <b id="error" class="">При регистрации произошли следующие ошибки:</b><br> </body> </html>