Задать вопрос
  • Можно ли писать функции в текст?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Извратиться можно, но это будет именно извращение.
    Тем более что всё равно кроме функций понадобятся и управляющие конструкции - if, foreach.
    И решение давно придумано. РНР умеет встраиваться в HTML. Поэтому вместо того, чтобы писать разрозненные куски HTML в переменные, весь HTML пишется в один php файл, в котором делаются вставки на РНР. после того, как РНР выполнил всю бизнес-логику, пишется одна строчка, include 'template.php'; и дальше выводится весь HTML. Грубый пример такого файла
    <?php include 'top.php'; ?>
    <h2><?=$pagetitle?></h2>
    <ul>
    <?php foreach($links as $row): ?>
      <li>
        <a href="<?= htmlspecialchars($row['link']) ?>">
          <?= htmlspecialchars($row['name'])?>
        </a>
      </li>
    <?php endforeach ?>
    <ul>
    <?php include 'bottom.php'; ?>


    Ну и после такого колупания разработчик быстро приходит к идее использовать специпализированные шаблонные движки, такие как Twig. Но поскольку новичкам сложно осваивать столько нового за раз, лучше двигаться постепенно
    Ответ написан
    24 комментария
  • Кривое отображение сайта на iOS-устройствах?

    @romaca Автор вопроса
    Методом проб и ошибок, удалось решить вопрос. Проблема крылась в
    overflow: hidden;. Заменил на overflow: fixed;
    Далее из блоков пришлось убрать background-size: cover;. Из-за этого параметра, fixed почему-то сбоил...
    Ответ написан
    Комментировать
  • Что означают буквы в скобках в разных частях браузера?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Хоткеи же. Это так-то всегда было нормой в ОС и в десктопных приложениях сразу в названии пункта меню или кнопки указывать хоткей для использовании данного элемента интерфейса.
    На уровне ОС настраивается тут:
    • Панель управления -> Специальные возможности -> Клавиатура -> Изменить действия для сочетания клавиш -> Подчёркивать клавиши доступа, когда они доступны

    Но это работает только с системными элементами. А многие современные приложения не используют системные элементы интерфейса и в таких приложения это всё зависит только от них самих.
    Ответ написан
    Комментировать
  • Чем собирать статистику запросов от клиентов на сервере?

    @Everything_is_bad
    MySql наверное нет, так как добавляются новые строки(100-300 за сутки) для каждого Name и это наверное "Из пушки по воробьям".
    это ты сейчас взял и придумал, всё ок для твоих объемов c mysql для этого, используй его.

    ЗЫ хотя тут и текстовые логи тоже без проблем подходят.
    Ответ написан
    4 комментария
  • Только на мобильной версии сайта не работает отправка формы на почту?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Дополню ответ alexalexes
    Подключите телефон к компу в режиме отладки (нужен будет ADB драйвер), а браузер - в режиме синхронизации.
    Вот так и отлаживайте.

    Еще вариант:
    1. Подключаем андройд к компу по usb.
    2. Переход в настройки андройда -> параметры разработчика -> отладка по usb.
    3. Открываем страницу хромиум браузер на компе chrome://inspect/#devices.
    4. Жмем inspect нужной страницы.

    Теперь можно отлаживать хромиум браузер смартфона (не только смартфона, а вообще любой доступный удаленный хромиум браузер) на компе, получая все информацию от лица смартфона.
    Ответ написан
    Комментировать
  • Как правильнее переписать id's в формах?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Id должен быть уникальным и единственным во всём документе: https://htmlbook.ru/html/attr/id
    Поэтому, если нужны идентификаторы элементам - то следует каждому элементу назначить свой уникальный. А вот имена элементов формы могут повторяться. Элементы в форме в JS скрипте можно найти по любому атрибуту. Обычно используются имена или классы. Какой именно использовать цикл в коде значения не имеет.
    Ответ написан
    Комментировать
  • Как оценить сложность проекта и найти грамотных исполнителей?

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    ТЗ бесусловно и однозначно нужно. Но начинать надо с определения прежде всего для себя сколько готов заплатить за мечту разово и потом платить регулярно . И только потому уже писать ТЗ и искать исполнителей. Ибо если нет денег - всё остальное бессмысленно.
    Ответ написан
    Комментировать
  • PHP. Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    В РНР разбираться не обязательно, надо минимально разбираться в поддержке софта.
    Варианты, по степени убывания идеальности
    1. Обновить версию Джюмлы
    2. В настройках пхп отключить ошибки E_DEPRECATED
    3. Залезть с грязными ногами в файл /var/www/u2340392/data/www/test.kaikova.ru/modules/mod_bt_contentslider/tmpl/default.php и на 26 строке при вызове функции trim() дописать ?? '' после имени переменной. Т.е
    -trim($var);
    +trim($var ?? '');
    Ответ написан
    Комментировать
  • Как добавить в скрипт заявки тему для письма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если используете функцию mail, то должны сами озаботиться соблюдением всех стандартов. В частности, все заголовки, в том числе и тема письма, должны быть закодированы согласно RFC 2047. В заголовках допускаются только символы из ASCII-128.
    $subject = '=?UTF-8?B?' . base64_encode($pagetitle) . '?=';

    А лучше используйте PHPMailer, он сам приведёт всё в нормальный вид.
    Ответ написан
    4 комментария
  • Почему не срабатывает удаление класса?

    dmitryfx
    @dmitryfx
    1) нет такого метода getElementbyId, есть getElementById
    2) Если не обернуть скрипт в window.addEventListener( 'load', () => { //script }); то на этапе выполнения скрипта getElementById вернут null, т.к. эти дом-элементы еще не созданы.

    Учитесь пользоваться devtools и средой разработки, вроде VS Code с плагинами, они вам не дадут ошибаться в названиях методов (метод querySelectorALL тоже не существует)
    Ответ написан
    Комментировать
  • Есть ли смысл учить школьную статистику и вероятность?

    @alexalexes
    Берете вузовкий учебник Вентцель Е.С. "Теория вероятностей".
    Если чувствуете, что текст написан на птичьем языке, то понижаете планку до школьной программы (в школе, кроме про подбрасывание монетки ничего не рассказывали, поэтому подсказать литературу не могу).
    Ответ написан
    Комментировать
  • Есть пк версия сайта и телефонная. Как настроить так чтобы при входе на сайт с телефона открывалась версия для телефона?

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    На сайте есть какой-то функционал , который не должен быть доступен на "противоположном" устройстве?

    Если нет - не нужно делать разные версии. Нужна одна, адаптивная.

    Если же да, то определять необходимые возможности устройства.
    Ответ написан
    Комментировать
  • Почему closest() и parentElement не видят родителя?

    Fragster
    @Fragster
    помогло? отметь решением!
    Потому что клали они на уникальность id
    kd5LV8b.png
    Ответ написан
    2 комментария
  • Не переходит по ссылке, что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А если подумать?
    Что должен выдать document.querySelector('https://vk.com/krosrs')?
    Правильно, ошибку. Что и выдаёт.
    что делать?
    Для начала определиться, а что именно вы хотите получить этим кодом и зачем делать ссылку, а потом запрещать переход по ней.
    Ответ написан
    Комментировать
  • Почему переменная теряет видимость?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Похоже на баг/фичу консоли Google Chrome.
    В консоли FireFox повторные запуски корректно ругаются на переобъявление let testValue

    Так действительно делать нельзя, но разрабы Chrome с версии 80 решили «помочь» разработчикам, использующим консоль, и ленящимся заключать весь код в фигурные скобки, чтобы изолировать область видимости. С FireFox такая привычка у меня лично уже выработалась, все эксперименты в консоли – внутри { }

    И вот в консоли Хрома теперь можно переназначать и переенные let, и даже const. И классы. Печаль.

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

    TL&DR; предлагаю писать корректный JS в строгих песочницах, где два let подряд не пройдут.
    Ответ написан
    2 комментария
  • В Вебмастере в разделе "Исключенные страницы" появляются ссылки с URL вида gtm_debug и ym_debug, как найти причину?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    С некоторого времени в Вебмастере стали появляться ссылки, например /?_ym_debug=2 или /?gtm_debug=1729657003761.

    Подскажите, пожалуйста, где мне найти источник проблемы?

    Проверка цели. У Вас не запрещена индексация страниц с не нужными url параметрами. По идее, поисковик воспринимает такие страницы, как дубли.

    Пример запрета индексации любых url с url параметрами без слэша на конце (robots.txt):
    User-agent: *
    Disallow: *?

    Со слэшем:
    User-agent: *
    Disallow: */?

    Правило размещать в начале файла, затем, его ниже можно перекрыть, написав новое Allow правило, это необходимо для разрешения индексации страниц с определенными url параметрами.
    Ответ написан
  • Как передать имя таблицы как параметр?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Но таблиц стало много и неопределённо много.

    Вижу два варианта.

    Первый - таблицы принципиально различаются. Просто запросы к ним внешне весьма похожи. В этом случае подобное объединение логически несвязанных запросов в один на основании всего лишь текстового подобия - как минимум бессмысленное, а по большому счёту и вредное, действие.

    Второй - таблицы имеют идентичную структуру. В таком случае возникает вполне обоснованный вопрос - а почему это несколько таблиц, а не одна? возможно, вместо отдельной таблицы просто с дополнительным полем, идентифицирующим группу.

    Отдельно стоИт вариант, который является подвариантом первого, с той лишь особенностью, что тексты запросов абсолютно совпадают. В этом случае возможным решением может служить хранимая процедура, куда передаётся в виде параметров и имя таблицы, и значение критерия, а внутри выбирается либо строится с помощью CASE текст запроса, выполняемый потом динамическим SQL.
    Поясню вариант "строится" - имя таблицы передаётся как параметр хранимой процедуры, там он сравнивается с набором предопределённых литералов, и уже этот предопределённый литерал, а не переданный параметр, участвует в построении текста запроса.

    На строго в рамках PDO - полностью согласен с предыдущим оратором. Никак.
    Ответ написан
    3 комментария
  • По какой формуле можно высчитать делитель, с нужным остатком от деления?

    @loheb
    Число 193
    В данном примере делитель будет в пределах от 10 до 183. Например, 193-10*18=13 или 193-183*1=10 или 193-155*1=38 или 193-91*2=11 или 193-92*1=101 или 193-19*9=22
    Формулу самостоятельно выводите.
    Ответ написан
    Комментировать
  • По какой формуле можно высчитать делитель, с нужным остатком от деления?

    Alexandroppolus
    @Alexandroppolus
    кодир
    если у тебя число N, и нужен делитель, который дает остаток M, то ответ равен (N-M).
    разумеется, при условии что N > 2M, иначе ответа нет
    Ответ написан
    Комментировать
  • По какой формуле можно высчитать делитель, с нужным остатком от деления?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну, раз нет никаких дополнительных требований, то делитель равен самому числу, остаток 0.
    Ответ написан
    1 комментарий