Задать вопрос
  • Как организовать отслеживание транспорта (автобуса)?

    @alexei_2002 Автор вопроса
    Сергей Соловьев, Хозяин автомобилей желает отслеживать свой транспорт
    Написано
  • Как организовать отслеживание транспорта (автобуса)?

    @alexei_2002 Автор вопроса
    Сергей Соловьев, обращение сервера раз в какое-то время к API, получение данных о местонахождении транспорта в данный момент времени, ну и запись в базу данных. Возможен такой вариант?
    Написано
  • Как интегрировать текст с html тегами из БД в код сайта?

    @alexei_2002 Автор вопроса
    JhaoDa, я, так понимаю, у Вас есть какая-то детская неразрешенная травма и, Вы, такими "подколами" пытаетесь самоутвердиться? Никогда не понимал, почему нельзя просто помочь или же в крайнем случае промолчать...
  • Как проверить есть ли в массиве определенное значение?

    @alexei_2002 Автор вопроса
    FanatPHP, практики мало вот и туплю, про where сразу не подумал, частенько "изобретаю велосипед". Спасибо за помощь
  • Как получить изменения с гх?

    @alexei_2002 Автор вопроса
    git pull origin main ?
    main главная ветка
  • Как посчитать количество элементов массива, имеющих определённое свойство?

    @alexei_2002 Автор вопроса
    Я извиняюсь, но можете показать на моем примере?
    Сложно разобраться, так как учусь самостоятельно
  • Почему не распознается переменная при ее подстановке в строку?

    @alexei_2002 Автор вопроса
    ZerdoX-x, я разобрался, благодарю за помощь
  • Почему не распознается переменная при ее подстановке в строку?

    @alexei_2002 Автор вопроса
    Вот что получилось

    {selectorString: '.c_ipt_surname1'}
    {surnameElement: jQuery.fn.init(0)}
    {surname: undefined}

    Во второй строке не понятное значение получается
  • Изменение значения в html?

    @alexei_2002 Автор вопроса
    В общем и целом, понял
    Благодарю
  • Триггер на удаление записей в связанной таблице?

    @alexei_2002 Автор вопроса
    Akina, я бы с радостью не делал, но нужно, это просто в курсовой требуется
    Можно не на удалении
    В триггерах не шарю просто
    В нете искал, не понял нчг
    Мне чтобы понять, нужно сделать на практике
  • Как правильно обработать php скрипт через ajax?

    @alexei_2002 Автор вопроса
    Сергей, впервые, за все проведенное время на форумах, встречаю того кто так основательно подходит к помощи другому человеку
  • Как правильно обработать php скрипт через ajax?

    @alexei_2002 Автор вопроса
    Сергей,
    login.php
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<title></title>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    <!--===============================================================================================-->	
    	<link rel="icon" type="image/png" href="images/icons/favicon.ico"/>
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="fonts/Linearicons-Free-v1.0.0/icon-font.min.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="vendor/animate/animate.css">
    <!--===============================================================================================-->	
    	<link rel="stylesheet" type="text/css" href="vendor/css-hamburgers/hamburgers.min.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="vendor/animsition/css/animsition.min.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css">
    <!--===============================================================================================-->	
    	<link rel="stylesheet" type="text/css" href="vendor/daterangepicker/daterangepicker.css">
    <!--===============================================================================================-->
    	<link rel="stylesheet" type="text/css" href="css/util.css">
    	<link rel="stylesheet" type="text/css" href="css/main.css">
    <!--===============================================================================================-->
    </head>
    <body>
    	<form method="POST">
    	<div class="limiter">
    		<div class="container-login100" style="background-image: url('images/bg-01.jpg');">
    			<div class="wrap-login100 p-l-110 p-r-110 p-t-62 p-b-33">
    				<form class="login100-form validate-form flex-sb flex-w">
    					<span class="login100-form-title p-b-53">
    						Авторизация
    					</span>
    					
    					<div class="p-t-31 p-b-9">
    						<span class="txt1">
    							Логин
    						</span>
    					</div>
    					<div class="wrap-input100 validate-input" data-validate = "Username is required">
    						<input id="login" name = "login" class="input100" type="text" >
    						<span class="focus-input100"></span>
    					</div>
    					
    					<div class="p-t-13 p-b-9">
    						<span class="txt1">
    							Пароль
    						</span>
    
    					</div>
    					<div class="wrap-input100 validate-input" data-validate = "Password is required">
    						<input id="password" name = "password" class="input100" type="password">
    						<span class="focus-input100"></span>
    					</div>
    
    					<div class="container-login100-form-btn m-t-17">
    						<button id = "sub" name="submit" class="login100-form-btn">
    							Войти
    						</button>
    					</div>
    
    					<div class="w-full text-center p-t-55">
    						<span class="txt2">
    							Нет аккаунта?
    						</span>
    
    						<a href="register.php" class="txt2 bo1">
    							Зарегистрировать новый
    						</a>
    					</div>
    				</form>
    			</div>
    		</div>
    	</div>
    	</form>
    
    	<div id="dropDownSelect1"></div>
    	
    <!--===============================================================================================-->
    	<script src="vendor/jquery/jquery-3.2.1.min.js"></script>
    <!--===============================================================================================-->
    	<script src="vendor/animsition/js/animsition.min.js"></script>
    <!--===============================================================================================-->
    	<script src="vendor/bootstrap/js/popper.js"></script>
    	<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
    <!--===============================================================================================-->
    	<script src="vendor/select2/select2.min.js"></script>
    <!--===============================================================================================-->
    	<script src="vendor/daterangepicker/moment.min.js"></script>
    	<script src="vendor/daterangepicker/daterangepicker.js"></script>
    <!--===============================================================================================-->
    	<script src="vendor/countdowntime/countdowntime.js"></script>
    <!--===============================================================================================-->
    	<script src="js/main.js"></script>	
    	<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
    	<script src="ajax.js"></script>
    </body>
    </html>

    login_ajax.php
    <?php
    //Авторизация пользователя
    
    //Подключаем скрипт с данными для подключения к БД
    include 'connection.php';
    
    // Функция для генерации случайной строки
    function generateCode($length=6) {
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
        $code = "";
        $clen = strlen($chars) - 1;
        while (strlen($code) < $length) {
                $code .= $chars[mt_rand(0,$clen)];
        }
        return $code;
    }
    
    // Соединяемся с БД
    $link = mysqli_connect($host, $user, $password, $database) 
    or die("Ошибка подключения к базе данных! ". mysqli_error($link));
    
    if(isset($_POST['submit']))
    {
        // Вытаскиваем из БД запись, у которой логин равняется введенному
        $query = mysqli_query($link,"SELECT user_id, user_password FROM users WHERE user_login='".mysqli_real_escape_string($link,$_POST['login'])."' LIMIT 1");
        $data = mysqli_fetch_assoc($query);
    
        // Сравниваем пароли
        if($data['user_password'] === md5(md5($_POST['password'])))
        {
            // Генерируем случайное число и шифруем его
            $hash = md5(generateCode(10));
    
            if(!empty($_POST['not_attach_ip']))
            {
                // Если пользователя выбрал привязку к IP
                // Переводим IP в строку
                $insip = ", user_ip = INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
            }
    
            // Записываем в БД новый хеш авторизации и IP
            mysqli_query($link, "UPDATE users SET user_hash = '".$hash."' ".$insip." WHERE user_id = '".$data['user_id']."'");
    
            // Ставим куки
            setcookie("id", $data['user_id'], time() +60*60*24*30, "/");
            setcookie("hash", $hash, time() +60*60*24*30, "/", null, null, true); // httponly !!!
            // Переадресовываем браузер на страницу проверки нашего скрипта
            header("Location: check.php"); exit();
    
        }
        else
        {
        	echo "Вы ввели неправильный логин/пароль";
        }
    }
    ?>

    ajax.js
    $("#sub").click(function() {
                let data_login = $('#login').value();
                let data_password = $('#password').value();
                $.post("login_ajax.php", 
                    {
                        login: data_login, 
                        password: data_password, 
                        submit: "submit" 
                    })
                    .done(function( data ) {
                        alert( "Сообщение: " + data );
                    });
            });

    js/main.js
    (function ($) {
        "use strict";
    
    
        /*==================================================================
        [ Validate ]*/
        var input = $('.validate-input .input100');
    
        $('.validate-form').on('submit',function(){
            var check = true;
    
            for(var i=0; i<input.length; i++) {
                if(validate(input[i]) == false){
                    showValidate(input[i]);
                    check=false;
                }
            }
    
            return check;
        });
    
    
        $('.validate-form .input100').each(function(){
            $(this).focus(function(){
               hideValidate(this);
            });
        });
    
        function validate (input) {
            if($(input).attr('type') == 'email' || $(input).attr('name') == 'email') {
                if($(input).val().trim().match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/) == null) {
                    return false;
                }
            }
            else {
                if($(input).val().trim() == ''){
                    return false;
                }
            }
        }
    
        function showValidate(input) {
            var thisAlert = $(input).parent();
    
            $(thisAlert).addClass('alert-validate');
        }
    
        function hideValidate(input) {
            var thisAlert = $(input).parent();
    
            $(thisAlert).removeClass('alert-validate');
        }
    
    })(jQuery);
  • Как правильно обработать php скрипт через ajax?

    @alexei_2002 Автор вопроса
    Сергей,
    <input id="login" name = "login" class="input100" type="text" >
    <input id="password" name = "password" class="input100" type="password">
  • Как правильно обработать php скрипт через ajax?

    @alexei_2002 Автор вопроса
    Сергей, на мгновение в консоле проскакивает(после отработки php исчезает) что-то типа анонимный/неизвестный html элемент и ссылается на строку 2 файла ajax.js
  • Как правильно обработать php скрипт через ajax?

    @alexei_2002 Автор вопроса
    Добавил id инпутам, передал значение, но так и не сработало. Страница просто обновляется
    $("#sub").on('click', function() {
    	let data_login = document.getElementById("login").value;
    	let data_password = document.getElementById("password").value;
        $.post("login_ajax.php", { login: data_login, password: data_password, submit: "submit" })   
            .done(function( data ) {
                alert( "Сообщение: " + data );
        });
    });
  • Работа с mysql с помощью php и удаление html?

    @alexei_2002 Автор вопроса
    С ajax не работал, сейчас глянул и стало страшно
  • Работа с mysql с помощью php и удаление html?

    @alexei_2002 Автор вопроса
    FanatPHP, Дайте пожалуйста совет в какую хотя бы сторону двигаться. С ajax не работал, сейчас глянул и стало страшно
  • Работа с mysql с помощью php и удаление html?

    @alexei_2002 Автор вопроса
    Froggyweb, при нажатии на кнопку срабатывает php условие, а потом js условие, но на самом деле js опережает, тем самым не давая сработать php.
    Что делать не представляю, много чего перелопатил. С ajax не работал, сейчас глянул и стало страшно