Задать вопрос
@andreyjohns

Не заносятся данные в БД с регистрации, как решить проблему?

Здравствуйте. Пишу регистрацию, вроде все сделал, а данные в базу данных не заносятся. Второй день не могу понять из-за чего.
register.php
<?php
require ('../settings/config.php');

$fn = $_GET['fn'];
$ln = $_GET['ln'];
$email = $_GET['email'];
$pass = $_GET['pass'];


$query = 'SELECT * FROM users WHERE Email="'.$email.'"';

$result = mysqli_query($con,$query);
$user = mysqli_fetch_assoc($result); 

//$password = md5($pass);

if(count($users) == 0)
{
    $result = mysqli_query($con,"INSERT INTO `users`(`Email`, `Password`, `SurName`, `LastName`, `Balance`, `Admin`, `Moder`, `theme`, `Avatar`) VALUES ('$email','$pass','$fn','$ln','0','0','0', 'dark', '/engine/img/avatars/0.png')");
    mysqli_close($con);
    die('YES');
    exit();
} else 
 die('#Ошибка На данный момент регистрация закрыта!');

exit();
?>


Основная регистрация
<?php
require ("check/settings/config.php");
?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">

    <title><?php echo $panelname;?> | Магазин скриптов для вашего проекта</title>

    <!-- Custom fonts for this template-->
    <link href="/engine/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
    <link
        href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
        rel="stylesheet">

    <!-- Custom styles for this template-->
    <link href="https://panel.sagms.site/engine/includes/css/sb-admin-2-dark.min.css" rel="stylesheet">
    <link rel="stylesheet" href="/engine/dist/simple-notify.min.css" />
    <script src="/engine/dist/simple-notify.min.js"></script>
<style>
    .bg-login-image {
    background: url(/pages/img/fw.jpg);
    background-position: center;
    background-size: cover
    }

    .bg-register-image {
    background: url(/pages/img/fw.jpg);
    background-position: center;
    background-size: cover
    }

    .bg-password-image {
    background: url(/pages/img/fw.jpg);
    background-position: center;
    background-size: cover
    }

    ::-webkit-scrollbar{width:3px}
    
    ::-webkit-scrollbar-thumb{background:#FFFFFF;border:none;border-radius:0;opacity:.2}
    ::-webkit-scrollbar-track{background:#424242;border:none;border-radius:0}
    ::-webkit-scrollbar {
      width: 8px;
      height: 5px;
      background-color: #48494D;
    }

    ::-webkit-scrollbar-thumb {
      background-color: #686868;
    }

    ::-webkit-scrollbar-thumb:hover {
        background-color: #4A4A4A;
    }    </style>

</head>

<body class="bg-gradient-primary">

    <div class="container">

        <div class="card o-hidden border-0 shadow-lg my-5">
            <div class="card-body p-0">
                <!-- Nested Row within Card Body -->
                <div class="row">
                    <div class="col-lg-5 d-none d-lg-block bg-register-image"></div>
                    <div class="col-lg-7">
                        <div class="p-5">
                            <div class="text-center">
                                <h1 class="h4 text-gray-900 mb-4">Регистрация</h1>
                            </div>
                            <form id="regform" class="user">
                                <div class="form-group row">
                                    <div class="col-sm-6 mb-3 mb-sm-0">
                                        <input type="text" class="form-control form-control-user" id="exampleFirstName"
                                            placeholder="Имя" name="fn">
                                    </div>
                                    <div class="col-sm-6">
                                        <input type="text" class="form-control form-control-user" id="exampleLastName"
                                            placeholder="Фамилия" name="ln">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <input type="email" class="form-control form-control-user" id="exampleInputEmail"
                                        placeholder="Электронная почта" name="email">
                                </div>
                                <div class="form-group row">
                                    <div class="col-sm-6 mb-3 mb-sm-0">
                                        <input type="password" class="form-control form-control-user"
                                            id="exampleInputPassword" placeholder="Пароль" name="pass">
                                    </div>
                                    <div class="col-sm-6">
                                        <input type="password" class="form-control form-control-user"
                                            id="exampleRepeatPassword" placeholder="Повтор пароля">
                                    </div>
                                </div>
                                <button class="btn btn-primary btn-user btn-block" onclick="myFunction()">Зарегестрироваться</button>
                            </form>
                            <hr>
                            <div class="text-center">
                                <a class="small" href="/pages/authorization.php">Авторизация</a> <div class="text-center"> 
                                                                            </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

    </div>

    <!-- Bootstrap core JavaScript-->
    <script src="/engine/vendor/jquery/jquery.min.js"></script>
    <script src="/engine/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

    <!-- Core plugin JavaScript-->
    <script src="/engine/vendor/jquery-easing/jquery.easing.min.js"></script>

    <!-- Custom scripts for all pages-->
    <script src="/engine/js/sb-admin-2.min.js"></script>

    <script>
    function myFunction()
    {
        var fn = document.getElementById("exampleFirstName").value;
        var ln = document.getElementById("exampleLastName").value;
        var email = document.getElementById("exampleInputEmail").value;
        var pass = document.getElementById("exampleInputPassword").value;
        var rpass = document.getElementById("exampleRepeatPassword").value;            
        if(fn < 3 || ln < 3 || email < 8 || pass < 8 || rpass < 8)
        {
            new Notify ({
            title: 'Ошибка',
            text: "Необходимо заполнить все поля!",
            status: 'error',
            autoclose: true,
            autotimeout: 2000                    
            })    
            event.preventDefault();
            return false;    
        }
        if(pass != rpass)
        {
            
             new Notify ({
             title: 'Ошибка',
             text: "'Введенные вами пароли не совпадают!",
             status: 'error',
             autoclose: true,
             autotimeout: 2000                    
             })    
            event.preventDefault();
            return false;                        
        }        
   	            $("#regform").on('submit', function(e) {    
        e.preventDefault();
		$.ajax({
            type:'GET',
            url: '/pages/check/profile/regestration.php',
            data: $('#regform').serialize(),
            cache: false,
            success: function(data) { 
                if (data.search('#Ошибка') != -1) {
                    
                    data = data.replace('#Ошибка', ''); 
                    
                    new Notify ({
                        title: 'Ошибка',
                        text: data,
                        status: 'error',
                        autoclose: true,
                        autotimeout: 1500                    
                    })    
                    
                    event.preventDefault();
                    return false;            
                }
                else if (data == '#Флуд') {
                    new Notify ({
                    title: 'Ошибка',
                    text: 'Вы можете зарегистрироваться только через 2 минуты!',
                    status: 'success',
                    autoclose: true,
                    autotimeout: 1500                    
                })  
                }
                else if (data == 'YES') {
                new Notify ({
                    title: 'Успешно',
                    text: 'Вы успешно зарегистрировались!',
                    status: 'success',
                    autoclose: true,
                    autotimeout: 1500                 
                })                    
                setInterval(() => {
                    window.location = "/pages/authorization.php"
                }, 1550);
                }
            }
        });
			});
    }
    </script>

</body>

</html>


Поключение к БД
<?php

$con = mysqli_connect('135.181.177.214','gs16241' '',' ');
$panelname = "FIREWORK GAMES";

$vklink = "vk.com/firework_games";
$sitelink = 'https://arz-firework.ru';

?>
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
IvanU7n
@IvanU7n
nothing interesting here
приведённый код не может работать из-за отсутствия запятой между аргументами в mysqli_connect(), да и другого хватает, не говоря про возможные SQL-инъекции

если же отбросить потенциальные ошибки синтаксиса, то возможны 2 варианта

1) не перехватывается событие submit из-за добавления его внутри обработчика события click на кнопке, в результате форма отправляется на текущий адрес и нужный код просто не выполняется; да и текущий код будет на каждое нажатие на кнопку вешать дополнительный обработчик submit, которые все будут срабатывать скопом

2) тело запроса в методе GET невозможно, поэтому данные из формы не поступают в серверный обработчик, да и совершать изменяющие состояние операции методом GET противоречит семантике этого метода
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽