Не пишет ошибку что логин занят и что поля пустые, всегда пишет что успешно зарегистрированы . В базу заносит если верно данные вести.
Файл reg.php
<?php
include("include/db_connect.php");
include("functions/functions.php");
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
<link href="css/reset.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<title>Регистрация</title>
</head>
<body>
<div id="block-body">
<?php
include("include/block-header.php");
?>
<div id="block-cont">
<form method="post" id="form_reg" action="/reg/handler_reg.php">
<p id="reg_message"></p>
<div id="block-form-reg">
<div class="form-group">
<label for="inputName">Логин</label>
<input type="text" class="form-control" name="reg_login" id="reg_login" placeholder="Введите Логин" />
</div>
<div class="form-group">
<label for="inputPass">Пароль</label>
<input type="text" class="form-control" name="reg_pass" id="reg_pass" placeholder="Введите Пароль" />
</div>
<div class="form-group">
<label for="inputEmail">Email</label>
<input type="email" class="form-control" name="reg_email" id="reg_email" placeholder="Введите Email" />
</div>
<input type="submit" name="reg_submit" id="reg_submit" value="Регистраиця" />
</div>
</form>
</div>
<?php
include("include/block-footer.php");
?>
<script type="text/javascript" src="/js/shop-script.js"></script>
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
<script>
$("#form_reg").submit(function(event) {
event.preventDefault(); // прерываем отправку формы
var data = $('#form_reg').serialize();
$.ajax({
type: "POST",
url:"/reg/handler_reg.php",
data:data,
error:function(){
$("#reg_message").addClass("reg_mess_error").fadeIn(400).html(data);
},
beforeSend: function() {
$("#reg_message").html('Загрузка...');
},
success: function(html){
$("#block-form-reg").fadeOut(300);
$("#reg_message").addClass("reg_mess_good").fadeIn(400).html("Вы успешно зарегистрированы!");
}
});
return false;
});
</script>
</body>
</html>
Файл handler_reg.php
session_start();
include("../include/db_connect.php");
include("../functions/functions.php");
$error = array();
$login = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_login'])));
$pass = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_pass'])));
$email = iconv("UTF-8", "cp1251",clear_string($_POST['reg_email']));
if (strlen($login) < 5 or strlen($login) > 15)
{
$error[] = "Логин должен быть от 5 до 15 символов!";
}
else
{
$result = mysql_query("SELECT login FROM reg_user WHERE login = '$login'",$link);
If (mysql_num_rows($result) > 0)
{
$error[] = "Логин занят!";
}
}
if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Укажите пароль от 7 до 15 символов!";
if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email))) $error[] = "Укажите корректный email!";
if (count($error))
{
echo implode('<br />',$error);
}else
{
$pass = md5($pass);
$pass = strrev($pass);
$pass = "9nm2rv8q".$pass."2yo6z";
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query(" INSERT INTO reg_user(login,pass,email)
VALUES( '".$login."','".$pass."','".$email."')",$link);
echo 'Регистрация прошла успешно! <a href="index.php">Перейти на главную страницу.</a> ';
}
?>
Так должно работать:
if (count($error)>0) //если в масиве есть елементы
{
echo implode('<br />',$error);
}else
{
$pass = md5($pass);
$pass = strrev($pass);
$pass = "9nm2rv8q".$pass."2yo6z";
$ip = $_SERVER['REMOTE_ADDR'];
$addDB = mysql_query(" INSERT INTO reg_user(login,pass,email)
VALUES( '".$login."','".$pass."','".$email."')",$link);
if($addDB) // если переменная $addDB существует то запрос к базе выполнен
{echo 'Регистрация прошла успешно! <a href="index.php">Перейти на главную страницу.</a> ';}
else {
echo 'Запись не внесена в базу';}
}
Это
if (count($error))
{
echo implode('<br />',$error);
}
меняем на это:
if (count($error))
{
http_response_code(409);
echo implode('<br />',$error);
}
но тут вам стоит делаить как все возвращать json с флагом ошибки либо правильности.
p.s. Не буду удалять так как в ajax callback error срабатывает ели была возвращен код ошибки http.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть сайт на wordpress на страницах которого через шорткод хочу выводить портфолио для каждой со своими особенностямиВ functions
Подскажите возможно соединить массивы в один, у меня заказ записывает в одну таблицу order, а товар в order_product
Рационально ли делать все переходы по страницам сайта на php + ajax для фоновой игры плеера (как в вк)?
Подскажите, как сделать на wordpress многоуровневое меню? Допустим есть такой массив объектов: