• Как исправить ошибку 500 Internal Server Error?

    kotomyava
    @kotomyava
    Системный администратор
    В таком виде на вопрос не ответить. Причина может быть любой.
    Надо смотреть логи веб сервера, на предмет того, что собственно вызывает ошибку. Дальше решать найденную проблему.
    Ответ написан
    Комментировать
  • Как на php вставить в date() месяц на русском языке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $dt = new DateTime;
    $formatter = new IntlDateFormatter(
        'ru_RU',
        IntlDateFormatter::LONG,
        IntlDateFormatter::LONG
    );
    $formatter->setPattern('d MMMM yyyy');
    echo $formatter->format($dt);
    // 18 января 2023
    Ответ написан
    5 комментариев
  • Почему ссылка работает в хром но не работает через href в html?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Скорее всего криво вбит токен или айди, внимательно сравните урл в хреф и тот что руками вставлен.
    Ответ написан
    1 комментарий
  • Что лучше, по одной или несколько записей при INSERT?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Запись пакетом быстрее и менее нагрузочна, но выше вероятность потери при сбоях.

    PS. 40 записей в секунду - это в общем-то ни о чём..
    Ответ написан
    Комментировать
  • Как запросом проверить входит ли дата из списка в диапазон дат?

    @alexalexes
    Выносите даты в отдельную таблицу:
    Название таблицы: location_event_dates
    id - идентификатор даты;
    location_event_id - идентификатор из таблицы location_event (то, что у вас в вопросе)
    event_date - одна из дат события (в формате даты, а не строки!)
    Тогда будет нормальный поиск:
    select le.id, le.locationid, le.eventid,
              led.event_date
    from location_event le
    join location_event_dates led on led.location_event_id = le.id
    where led.event_date between :begin_date and :end_date
    Ответ написан
    Комментировать
  • Как сократить запись if?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Хорошо бы в какой-то переменной держать состояние, которое бывает одно из двух: true / false

    let isExpanded = false; // единственный источник правды
    
    el.addEventListener('click', () => {
      isExpanded = !isExpanded; // переключить
    
      // показать
      linkusersnew.innerText = isExpanded ? 'Свернуть' : 'Развернуть';
      userwrap.style.height = isExpanded ? '600px' : '400px';
      newdel.style.display = isExpanded ? 'flex' : 'none';
    });
    Ответ написан
    Комментировать
  • Как поменять поле TV через сниппет в modx?

    an-tar
    @an-tar Куратор тега MODX
    Full stack web developer
    В общем случае обращение к TV через сниппет выглядит следующим образом:
    $doc = $modx->getObject('modDocument',123); // здесь 123- ID вашего ресурса, у которого есть нужный TV-галочка
    $newValue = "1";// какое значение для чекбокса у вас задано в качестве истинного?  
    $doc->setTVValue(456, $newValue); // здесь 456- ID вашего TV поля

    Модернизируйте под ваши нужды, вызывайте
    Ответ написан
    Комментировать
  • Как вывести текст в textarea не потеряв переносы строк в тексте?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    ВАРИАНТ 4-Й, очевидный
    1 - пишу абзац текста с переносами в textarea
    2 - Отправляю в SQL-базу ничего не меняя.
    3 - Оригинальные системные переносы сохраняются в SQL - базе, как и должны, поскольку любые заморочки с яваскриптами к базе данных не имеют вообще никакого, ни малейшего отношения
    4 - Читаю из SQL базы
    5 - Вывожу в обратно в texarea
    6 - В texarea ВСЁ РАБОТАЕТ! A magic! При том что мы вообще нигде ничего ни на что не меняли

    6a - По поводу HTML сущностей. Хотя в приведённом примере нет ни одного символа, который бы требовал перекодирования в HTML-сущности, тем не менее, при выводе любого текста в HTML, эти сущности действительно должны быть перекодированы в обязательном порядке, всегда, в 100% случаев. Причем с помощью не какой-то левой addslashes, а функции, которая действительно это делает, htmlspecialchars($var_zametka)

    7 - Собираюсь с мыслями, и напряжённо думаю - в каком месте у меня текст взаимодействует с яваскриптом? Который к выводу текста в текстарию не имеет ни малейшего отношения?
    8 - думаю...
    9 - думаю...
    10 - наконец-то нахожу.
    11 - перед тем, как отправлять текст в яваскрипт, кодируем его тем методом, который специально предназначен для отправки данных в яваскрипт, а не какими-то шаманскими заклинаниями и плясками с бубном.echo json_encode($var_zametka)
    12 - ВСЁ РАБОТАЕТ! Просто потому, что получилось расхлебать кашу в голове, в которой SQL путается с РНР, HTML c яваскриптом, а экранирование спецсимволов почему-то называется заменой на HTML-сущности. Хотя если открыть документацию на абсолютно бесполезную функцию addslashes, то там ни одного разочка слово HTML не встретится.
    Ответ написан
  • Как лучше хранить статичные настройки в MODX?

    alelunegov
    @alelunegov
    Фрилансер. Разработка сайтов на MODX, верстка
    Для этого есть замечательное дополнение ClientConfig, данные редактируются на отдельной странице в админке, а в шаблоне вывод как у системных настроек.
    Ответ написан
    Комментировать
  • Можно ли удалить последний параграф из строки mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще возможно такое?

    Если текст весь разбит на параграфы, и последними строками всегда будет </p> тогда возможно через REGEXP_REPLACE. С некоторыми извращениями скорее всего можно и если не закрывающий тег в конце текста.
    Ответ написан
    2 комментария
  • Для чего в проектах принудительно используют use?

    Fockker
    @Fockker Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Часть проблем высосана из пальца, как очень смешной п.2 - разница в одну точку с запятой, а уже "гораздо длиннее", карл. При том что если класс использовать в коде хотя бы дважды, то вот тут как раз действительно получится "гораздо длинее"

    use \Framework\Main\UI\Extension;
    Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    Extension::unload([ 'vendor.module.components.cabinet.personal' ]);
    vs
    \Framework\Main\UI\Extension\Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    \Framework\Main\UI\Extension\Extension::unload([ 'vendor.module.components.cabinet.personal' ]);

    и будешь постоянно спотыкаться в коде об эти палочки.

    А часть решается не просто, а очень просто: вместо того, чтобы писать код в Блокноте Виндоус, надо в кои-то веки освоить работу с нормальной IDE. Которая
    - автоматом скрывает блок use
    - по ctrl+наведение курсора показывает полный путь, а по ctrl-click сразу переходит в определение метода
    - подсвечивает неиспользуемые неймспейсы, и не проблема их удалить
    Ответ написан
  • Для чего в проектах принудительно используют use?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Минусы как бы очевидны:
    нет, не очевидны, по крайней мере миллионам разрабов

    1 Код становится трудно читаем. По месту использования не всегда понятно что имеется ввиду под Order::load() - \Framework\Sale\Order::load или \Vendor\Project\Sale\Order::load - приходится проматывать к верху файла.
    Вам как разрабу должно быть в принципе фиолетово, какой из пакетов используется, если они соблюдают один интерфейс. Если не соблюдают, при том что называются одинаково, значит все пошло не так задолго до проблем с определением пакета...

    2 Код становиться длиннее - там где было бы просто:
    \Framework\Main\UI\Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    приходится писать:
    use \Framework\Main\UI\Extension;
    Extension::load([ 'vendor.module.components.cabinet.personal' ]);
    Код становится длиннее в проектах где 2 контроллера и в них по 1 экшену. Там где Extension::load будет вызываться больше одного раза, очевидно экономия на эксплуатации клавиатуры заметно увеличивается. А в больших проектах создание объекта может (и будет) повторяться многократно.

    4 Код становиться замусоренным, так как верхушки файлов запросто превращаются во что-то вроде:
    Если не обращать внимание на отсутствие пункта 3, то... нет, не могу не обращать внимание, вот же торопыга....
    Во первых - данная портянка очень аккуратно прячется любой адекватной ИДЕ,
    Во вторых - это правильно и логично, хранить все импорты в одном месте
    В третьих - если ты пишешь неимпортированный класс в коде - ИДЕ обычно предлагает варианты внесения его в блок импорта, и все выглядит аккуратно.

    И хрен его знает используются импортированные классы ниже ещё или уже нет, ведь никто не убирает этот мусор.
    Хрен не знает, а ИДЕ замечательно знает и даже подсвечивает серым цветом неиспользуемые.
    Ответ написан
    4 комментария
  • Как вернуть результат промиса в переменную?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Почему при использовании reduce все элементы массива не складываются?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы заносите в массив не числа, а массивы. Вместо [1, 2, 3, ...] вы получаете [[1], [2], [3], ...].
    Ответ написан
    1 комментарий
  • Как добавить знак валют при вводе значения в input?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Зачем его вставлять в input?
    Сделайте отдельный span/i/div/что хотите и состыкуйте его к input. И данные в контроле будут чистыми, и никаких проблем с перескакиванием курсора за символ.
    Ответ написан
    1 комментарий
  • Какой-то скрипт или расширение подменяет или добавляет в код веб-приложения слова, что это может быть?

    @Fisher21 Автор вопроса
    Коллеги, всем спасибо за участие, все оказалось прозаичнее - баловались расширения для перевода страниц, причем и гугл и яндекс. Отключив расширение, проблема сразу пропадала.

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

    62df8c40c9101951269103.png
    Ответ написан
    2 комментария
  • Какие есть api, для получения информации с какими странами граничит страна, которую выбрал пользователь?

    EreminD
    @EreminD
    Кое-что умею
    https://restcountries.com/#api-endpoints-v2-all

    Пример
    https://restcountries.com/v2/name/andorra

    [{
        "name": "Andorra",
        "topLevelDomain": [".ad"],
        "alpha2Code": "AD",
        "alpha3Code": "AND",
        "callingCodes": ["376"],
    ...
        "borders": ["FRA", "ESP"], // коды стран
        "nativeName": "Andorra",
    ...
    }]
    Ответ написан
    6 комментариев
  • Как реализовать пользователей для админки?

    Сделать поле (любое название) и давать им цифры, где 1 - это админ, 2 модераторы ну и 0 обычны пользователь.
    Ответ написан
    3 комментария
  • Как поступить с заказчиком?

    SeaInside
    @SeaInside
    10 лет пилю все эти штуки
    Вы ведь сами понимаете, что это ваш косяк, а не заказчика? А чего ему за него платить?

    Мне прям вспомнилась ситуация, когда я пришёл к стоматологу вылечить кариес (пусть будет 2 000 рублей), мне рассверлили весь зуб и заявляют "батюшки, да тут же пульпит!" (12 000 рублей).
    Помогите Маше найти фразу для стоматолога, которая позволила бы сохранить хорошие отношения.

    И вот вы сейчас, по прошествии 2 месяцев, оставите заказчика один на один с незавершённым проектом, в котором никто не разберётся (то есть по сути ни с чем) - то вы поступаете как чудак. Я же вижу по тексту, что понимаете.
    А сюда вы за индульгенцией пришли? :)

    Хотите "сохранить отношения" - доделывайте как есть, в будущем будете мудрее.

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

    Два совета на будущее:
    1) Перезакладывать стоимость и время разработки;
    2) Если понимаешь, что всё идёт не по плану/пропал интерес / слишком сложно / некомфортно / whatever - сказать об этом сразу и отказаться от проекта, так всегда получается честнее

    Опыт всегда стоит дорого, а 53 000 рублей - ну не самая большая цена его получения :)
    Ответ написан
    9 комментариев
  • В чем проблема с нахождением елемента формы в post?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых
    require_once 'controllers/authController.php';
    require 'templates/header.php';
    здесь отсутствует закрывающий тег пхп, после которого идет хтмл. Подозреваю что там и открывающего нет (в коде вы его не привели).
    Во вторых button type="sumbit" не является инпутом, и передаваться как значение пост не будет.
    В третьих в форме указан signup.php, а выше вы приводите "файл auth". Определитесь, или там переименуйте или тут.

    Ну и первое что нужно сделать - включить вывод ошибок, или смотреть логи, а не тыкать пальцем в небо.
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    session_start();
    ...
    Ответ написан
    3 комментария