Сайт работает через раз!(Если пишу логин который нет в базе то он ничего не выводит , а если такой логин есть то он выводит ошибку , но если уже после этой ошибки вбить логин которого нет в базе данных то он вывод 'Вы зареганы' )
Я новичок , помогите.
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();
}
})
});
Отменяя событие отправки формы по действию пользователя и вызывая .submit()
, Вы не даете name=value
кнопки попасть в данные запроса, поэтому в блок
if( isset($data['do-signup']) ) {
выполнение не заходит.
$('.signup-form').submit(function(event) {
if (!validName || !validPassword || !validConfirm) {
return false;
}
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужен совет, возможно решить мою проблему кешированием или как то по другому
Есть две таблицы sql: Одна с заказами, а другая со статусами заказов:
Есть у меня в программе функция отключения уведомлений по заданому времениТо есть условие такое, если current hour == 12 отключаю