let timer;
$("#search").keyup(function (a) {
if(this.value.length < 3) return true; // не искать если меньше 2 букв
let keyPause = 200; // задержка в нажатии кнопок
let that = this;
clearTimeout(timer); //сбрасываем таймер если задержка меньше заданной
timer = setTimeout(LiveSearch(a, that.value), keyPause); // запускаем поиск спаузой
})
В общем способ, который я использую, отличается от сессий тем, что на сервере не заводится никакого хранилища (файла сессии или записи сесии в БД).По факту вы храните запись в бд с ключем сесии, то есть не копируете данные в новое хранилище, а привязываете имеющиеся данные к сессии, по сути смешивая сущности(имхо). Плюс теряете возможность хранить состояния на сервере в случае когда они нужны. Плюс дергаете таблицу юзеров каждый раз когда нужно логинить/разлогинить пользователя, вместо удаления / создания записи со ссылкой на пользователей. Как кастомное решение норм, но в целом оно слишком... специфичное.
$('#loginform').submit(function(e){
e.preventDefault();
...
else { window.alert(data);
$('#upload-image').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData();
formData.append('image',$('#image')[0].files[0]);
$.ajax({
type:'POST',
url: './modules/image-update-handler.php',
data: formData,
cache:false,
contentType: false,
processData: false,
success:function(data){console.log('success');},
error:function(data){console.log('error');}
});
}));
<script>
<?php if($adminLogged){ ?>
let val3 = $someSecretValue;
<?php } else{?>
let val3 = false;
<?php }
</script>