Ответы пользователя по тегу PHP
  • Как ограничить доступ к скрипту (Боту) в определенное время?

    @lolzqq
    HTML,CSS,JS,PHP
    Сделайте промежутки с 10:00 до 23:59 и с 00:00 до 02:00 ночи.
    Условно вам надо где цифры - добавить ещё пару переменных
    if ((date ('H:i') >= 10:00) && (date ('H:i') <= 23:59) || (date ('H:i') >= 00:00) && (date ('H:i') <= 02:00)) {
    exit ("start - stop");
    }
    Ответ написан
    Комментировать
  • PHP - вывод картинок из папки. Как вывести только JPG?

    @lolzqq
    HTML,CSS,JS,PHP
    Функция glob вам поможет и пути получить и сразу нужные расширения отсортировать в массив https://www.php.net/manual/ru/function.glob.php
    Останется только через foreach прогнать массив, для дальнейших действий.
    Ответ написан
    Комментировать
  • Как переделать данный скрипт?

    @lolzqq
    HTML,CSS,JS,PHP
    По основному вопросу: jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D...

    По побочному: "если вывожу через echo на страницу элементы то они как будто не видят js"

    1.Это значит, что в тот момент, когда ваш JS скрипт попытался обратиться к элементу - этот элемент ещё не отразился на странице, как элемент DOM.
    2.Или js скрипт не подключили.
    3.Или js скрипт у вас срабатывает один раз при загрузке страницы, а вот после AJAX событий - не навешивает обработчики. - скорее всего третье.

    // если нужен поиск кликабельных элементов, которые вы догружаете через AJAX
     let custom_box = document.querySelector('body'); // запоминаем тэг body или другой контейнер, в рамках которого отслеживаем нажатие ЛКМ
     custom_box.addEventListener('click', function(e) { // навешиваем прослушиватель события нажатия ЛКМ наш блок
       if(e.target.getAttribute("class").search(/mybutton_class/)!=-1){
        // e.target - нажатый объект
        // .getAttribute("class") - получаем содержимое аттрибута class=""
        // .search(/mybutton_class/) - ищем в содержимом аттрибута строку с искомым названием класса
        
       // выполняем какие то инструкции с кнопкой
       }

    // если нужно отследить, догрузился ли конкретный элемент на страницу, чтобы с ним работать, то либо нужно использовать callback внутри вашей AJAX функции или таймер
    // таймер
        var timer=setInterval(my_function(),100); // с переменной timer связываем js таймер, выполняющий функцию my_function каждые 100мс 
        function my_function() {
            if(document.querySelector('.ajax-photo')!=null){
                // проверяем наличие на странице блока с классом ajax-photo
    
                // ваши инструкции
    
                clearInterval(timer); // этой командой отключаем таймер из переменной timer - можете не выключать, тогда инструкция будет постоянно выполняться
            };
        }
    Ответ написан
  • Можно ли запускать цикл в цикле?

    @lolzqq
    HTML,CSS,JS,PHP
    если вам надо перебрать двумерный массив - то да
    Ответ написан
    Комментировать
  • Как передать HTML объект аяксом в php-скрипт?

    @lolzqq
    HTML,CSS,JS,PHP
    Аякс запрос передаёт строковые данные. Потому вам нужно получать не объект, и не объект jquery, пытаясь его передать на сервер! а получить строковые данные, и присваивать их как значения к ключам. Которые вы уже передадите в вашем POST запросе.
    var data="";
    data="name="+encodeURIComponent($("ваш_блок").prop("outerHTML"));
    data+="content="+encodeURIComponent($("ваш_другой_блок").prop("outerHTML"));
    $.ajax({
      url: url,
      type: "POST",
      data: data,
      success: function(){ /*обработчик вашей функции*/}
    )}


    Вам ещё в настройках PHP на сервере надо будет проверить значение переменной post_max_size и увеличить её под ваши нужды.
    Ответ написан
    Комментировать