• Из массива в вложенный объект?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    ['a','b','c'].reduceRight( function(p,c,i,a) { return (j={})[c] = p,j },'' )
    Ответ написан
    2 комментария
  • PHP возможна ли реализация фильтрации всех запросов POST/GET глобально?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Я использую самописный статический фильтрующий класс.
    Ответ написан
  • Как в SQL сравнить строки не учитывая стоп-слова?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Может проще искать по общему ZebraHead?
    `title` like '%ZebraHead%'

    Если текст не длинный (только заголовки):
    - создать таблицу со словами и соответствующему им id.
    - выкинутть от туда стоп-слова путем пересечения таблиц.
    - сделать подмены ошибок, транслитераций, вариаций.
    - сгрупировать по словам.

    Или воспользуйтесь опытом поисковых лингвистических анализаторов статья вам в помощь : https://habrahabr.ru/post/114997/
    но быстро не будет.

    P.S. Но я думаю, что нужно слегка поменять архитектуру.
    Ответ написан
    1 комментарий
  • Как каждую букву в слове заключить в рамку?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Выставить моноширинный шрифт, и растояние между буквами.
    Фоном поставить полоски или квадраты.

    Решение Jsfiddle
    Ответ написан
    4 комментария
  • Как подготовиться к закону Яровой?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Параноикам не стоит пользоваться компом, телефоном уже давно... Например, все разговоры по телефонах пишутся ещё с 90-х годов...
    Ответ написан
  • Почему ошибка запроса в MySQL?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Не выбрана база данных:

    const connection = mysql.createConnection({
      host: 'localhost',
      user: 'root',
      password: 'password',
      database: 'my_db'                      <===============
    });


    Скури статью...
    Ответ написан
    4 комментария
  • Почему не работает содержимое, загруженное методом load()?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    ajax.load( {url} ) - только подгружает html, js при этом не выполняется. Связано это с безобасностью.

    Для загрузки скриптов используй $.getScript().

    Смотри инструкцию

    id не могут быть одинаковые!!!
    <img src="01.png" id="user_new_image1" class="user_new_image arcticmodal-close">
    <img src="02.png" id="user_new_image2" class="user_new_image arcticmodal-close">


    А по событиям пробуй вешать делегированные:
    $('#user_change_image_window').on('click','.user_new_image',function() { ... });
    Ответ написан
    Комментировать
  • Не работает Handlebars. Что не так делаю?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Попробуй выложить темплейт из результирующего блока.

    <script id="objects" type="text/x-handlebars-template">
    {{#each objects}}
    <h3>{{title}}</h3>
     <p>{{description}}
    <a href="{{link}}">Ссылка</a>
    </p>
    {{/each}}
     </script>
    
    <div class="hand">
    
    </div>


    А в варианте с AJAX
    $(document).ready(function () {
        
        var hand = $('.hand');
        
    $.ajax({
        url: 'data.json' 
    }).done(function(data){
        var json = JSON.parse(data),
            source = $("#objects").html(),
            template = Handlebars.compile(source),
            html = template(json);
        
        $('.hand').append( html );             //-- было template(data)
    })
    });
    Ответ написан
    Комментировать
  • Можете посоветовать микро-шаблонизатор Javascript (client-side)?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    У меня свои написаны, работают уже лет 10 (пару раз обновлял)... Ибо ничего компактного и оптимизированного не нашел... ни в то время, ни сейчас не вижу альтернатив.

    То, что понаписывали за 10 лет, универсальное и жирное как кот на маслозаводе. Да еще написано так, что если нужно шаг в сторону сделать, то ничего не получится, только по "рельсам" или "крылья поломают и дальше только с костылями"... Или написать нужно к библиотеке в 30К еще 100К кода чтобы оно заработало. Тогда как моё умещается в 10К.

    Ну не нужно мне огород 100Га вокруг городить, пусть вольница будет.
    Ответ написан
    5 комментариев
  • Как создать скрипт для оповещений PHP?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Я понимаю, что у вас МНОГО мелких действий которые генерируются автоматически. Если НЕТ - используйте CRON.

    Метод с демоном (гарантированное выполнение в срок):
    - проверка роботы демона при запросе к серверу от любой страницы еcли демон не работает запускаем.
    - демон читает с базы следующую метку времени и ждет её наступления;
    - при достижении срока читает следующую метку времени;
    - выполняет нужное действие;
    - проверяет не прошла ли следующая метка времени;

    Метод без демона (гарантированное выполнение):
    - метод запускается при запросе от пользователя например в index.php, или настройте предзагрузку модуля в .htaccess;
    - читаем с базы значение последнего обновления и список всего что нужно сделать до текущего момента;
    - запускаем дествия асинхронно/синхронно как удобно;
    Ответ написан
    3 комментария
  • Кто как делает html формы?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Современная форма - это комплекс решений, в разных областях. И поставить один модуль который решит проблему - не возможно в принципе. Каждый специалист может собрать свою часть. Но без архитектора который скажет как это скрутить в кучу, будет велосипед с квадратными колесами - ехать можно но по специальной дороге.

    1. Разметка:
      • пишу всегда вручную;
      • длинные селекты тянутся из базы посредством шаблонизатора (например серверного TWIG);
      • прописываю полностью с атрибутами валидации HTML5 (благо все современные браузеры потдерживают);
      • выдумывать JS-велосипеды для валидации не стоит уже давно;
      • для зависимых полей пока есть простой js-клаcс сверяющий их.
      • drag&drop файлов давно уже работает без JS;
      • для подгрузки изображений в страницу на стороне клиента js-класс.

    2. Стили:
      • один раз прописаны стили для разных-форм на уровне тегов и взаимоотношений тегов (в итоге все формы на сайте виглядят в одном стиле);
      • класы только для самой формы, определяет как одна выводится: локально, модально или в теле контента;
      • кому сложно написать 300 строчек CSS, пользуйтесь фреймворками;
      • ни в коем случае не делайте стили форм для каждого раза как онные встречаются (придет дядя даст по рукам :) ).

    3. Отправка:
      • пользуйтесь action, submit и target;
      • нужны данные как модальное окно есть iframe;
      • ajax с формами не использую он изначально предназначен для другого:
        • для подгрузки полей в селектор, но только если селектор очень большой;
        • для поиска налету.


    4. Сервер:
      • использую специальный статический класс, который делает валидацию и XSS/injection-очистку;
      • как минимум PDO с подготовленными запросами;
      • Doctrine;

    5. База-данных:
      • наименования полей в базе соответствуют наименованиям полей в формах (с префиксом);

    Ответ написан
    1 комментарий
  • Откуда берется отступ при сжатии?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Перенесите класс contacts_header в родительский блок .

    <div class="contacts_header col-lg-5 col-md-4 col-sm-12 col-xs-12">
    <div class="">
    Москва, Ладожская ул., д. 1/2 <i class="fa fa-map-marker"></i> 
    <br>
    <a href="tel:+74957751401"> +7 (495) 775-14-01</a> <i class="fa fa-mobile"></i>
    <br>
    
    Пон- Сб 11:00 - 23:30 <i class="fa fa-clock-o"></i><br>
    Вс 13:00 - 23:30 <i class="fa fa-clock-o"></i>
    
    </div>
    </div>
    Ответ написан
    Комментировать
  • Адаптивная верстка. Правильно ли?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Вот это не правильно:
    style="height: 603px;"

    Определи класс и задай высоту в нем.
    Для картинки указывай ширину в арибуте, а не инлайн-стиле.
    Ответ написан
    1 комментарий
  • Как решить конфликт псевдоклассов :hover и :focus?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    .find:hover {
    color: #fff;
    }
    .find:focus:hover, .find:focus {
    color: #6a7180;
    }

    JSfiddle
    Ответ написан
    3 комментария
  • Как сказать по-русски слово yield???

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    yield {__};
    Выдать { __ } - подразумевается "выдать значение и ждать";

    По-украински пишется и звучит без проблем: Їлд (буде Їлдити, може Їлданути, генератор Їлданув (прошлое время), генератор Їлдане (будущее время) ).
    Ответ написан
    Комментировать
  • Как сделать прелоадер?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    <head>
          ...
          <script ...>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/3.2.0/imagesloaded.pkgd.min.js"></script>
          ...
    </head>
    <body>
          ...
          ...
          <img src=" image.png ">
          ...
          ...
          <script> 
                var imgLoad = imagesLoaded( 'img' );
                function onAlways( instance ) {
                      console.log('all images are loaded');
                }
                // bind with .on()
                imgLoad.on( 'always', onAlways );
                // unbind with .off()
                imgLoad.off( 'always', onAlways );
          </script>
    </body>
    Ответ написан
  • Как убрать отступы между дублирующимися картинками?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Можно как-то:
    JSfiddle

    Но проще картинку разкодить, подрезать, закодить... Декодеры по поиску в гугле...
    Ответ написан
    Комментировать
  • Защита сайта на php от парсинга без ущерба для поисковиков?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Защищатся нужно на уровне дизайна приложения на стороне клиента, а не сервера.

    НАПРИМЕР: Создавать страницу каждого клиента без структурных данных, просто общую с названием клиента и пачкой рекламных зазывалочек. Данные получать AJAX-ом после явного клика на кнопку/изображение (но не тег A). А адрес динамически генерировать js-том на основе например перекодированого одноразового-тикета, id клиента и id информации (но не php-генерируемый). Никаких явных ссылок на странице или в коде js!!!

    Кроме этого нужно блокировать множественные запросы с одного ареса. И выставить месячное ограничение для гостевых пользователей N в день/неделю/месяц/год.

    Думаю вам такого достаточно. Індексироваться така страница будет на уровне названий фирм. А спарсить по простому автоматом не смогут - нужно будет написать специальный скрипт.

    Сложное, что можно придумать это на стороне сервера динамически генерировать JS работающий с данными и запросами. Это усложнит работу програмиста на порядок.

    Но!
    !!!СЕРЕБРЯНОЙ ПУЛИ НЕТ!!!
    Нужно строить многофакторную защиту. Если все зделать с достаточным уровнем сложности, быдлокодер не сможет обойти. А профессиональный уважающий себя програмист не станет таким заниматься.
    Ответ написан
    3 комментария
  • Как сверстать такое подменю?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Для блока содержащего подпункты
    display: inline-block;
    position: absolute;
    top:0;
    bottom:0;

    Для блока содержащего пункты
    position: absolute;

    Блок содержащий подпункты должен быть следующим за пунктом.

    JSfiddle
    P.S. Использовать ul li для меню несколько неправильно. Когда-то был большой спор. И пришли к выводу, что семантичнее его не использовать. И не плодить лишние блоки, тег А всегда приходится вкладывать в LI. Но много людей остаются при своем мнении.
    Ответ написан
    7 комментариев