Задать вопрос
  • Как подключить оплату к сайту, если сайт сделан без cms?

    vabka
    @vabka Куратор тега Веб-разработка
    У сервиса оплаты, кроме гайдов, таки должна быть документация на api, через который его придётся интегрировать с сайтом.
    Если она отсутствует - стоит посмотреть ещё раз внимательно, а потом, если реально нет, спросить в поддержке.
    Ответ написан
    Комментировать
  • Как создать robots на Modx Rev?

    Судя по директории, установлен RobotsBuilder
    Если в меню "Пакеты" Вы не видите это приложение, то доступ к нему ограничен.
    Ответ написан
    4 комментария
  • Как убрать точки при direction: rtl?

    IvanU7n
    @IvanU7n
    nothing interesting here
    никак, т.к. это так и должно быть

    но непонятна причина извращенств с direction: rtl, если того же можно добиться менее извращёнными способами с тем самым text-align и justify-items/justify-content
    Ответ написан
    Комментировать
  • Как адаптировать такие блоки под ретина дисплеи?

    @mikitachyzhyk
    Просто оставить этот блок там где он по дизайну, а не прибивать его к правому краю. Ну или можно послать привет дизайнеру и уточнить у него.
    Ответ написан
    Комментировать
  • Почему браузеры и curl дают разные результаты?

    ValdikSS
    @ValdikSS
    На сайте используется TLS Fingerprint (вероятно, JA3) как один из индикаторов сессии в системе перед веб-сервером, вероятно, это анти-DDoS.
    Так как браузер и curl используют разные SSL-библиотеки и передают разные наборы шифров, сервер предлагает вам пройти challenge.
    Ответ написан
    5 комментариев
  • Почему запрос возвращает ошибку 500?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как только люди не извращаются, лишь бы SQL не изучать. А ведь достаточно сделать уникальный ключ по `word` и использовать запрос INSERT IGNORE.
    Перед подключением к базе разрешить выброс исключений, вместо ручной проверки ошибок:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    В начале скрипта включить отображение ошибок PHP:
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);

    Ну и использовать подготовленные выражения. Готовить один раз перед циклом, а в цикле только вызывать с разными значениями параметров.
    Ответ написан
    2 комментария
  • Как сформировать AJAX запрос для базы данных?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Для начала надо научиться делать без всякого аякса и яваскрипта. А освоить базовые приемы работы с РНР.
    Сейчас же у вас дурацкий вопрос вида "как мне затонировать стекла в машине?" при том что сама машина - это помесь телеги с влосипедом, причем педали крутятся в обратную сторону.

    Сначала надо добавить одну запись в БД руками.
    Потом так же в БД учиться писать запрос SELECT
    потом учиться выполнять SQL запросы в РНР.
    потом учиться получать результат SQL запроса в массив.
    потом учиться выводить многомерный массив
    потом учиться выводить многомерный массив в виде требуемого HTML, чтобы получить свою таблицу
    после этого можно сесть и отдохнуть.

    И после хорошего отдыха начать учиться работать с формами в HTML
    и как их обрабатывать в РНР
    написав в итоге код для добавления данных формы в БД

    и только после этого, если силы останутся, навешивать рюшечки в виде запроса и обновления аяксом
    Ответ написан
  • Как сделать знак плюс в точном центре круга на css?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    Сделайте плюс не шрифтом, а блоком из горизонтальной и вертикальной линий, потому что у шрифтов полно свойств:
    649b0f0b858da350988706.jpeg
    Чему к примеру равна горизонтальная линия вашего шрифтового плюса при размере 35px? Если у вас размер блока 45px, то линия должна быть так же с нечетным размером ровно 1px или 3px, или 5px в любом другом случае (1.2px, 3.6px, 4px) браузер начнет смещать ваш плюс вверх и вниз, что вы и наблюдаете.

    Если же блок будет с четным значением, например 44px, тогда, чтобы плюс стал по центру у него должен быть размер 2px,4px и т.д..

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

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Как парсить сайты?
    Парсить можно чем угодно: js, php, python и т.д.
    Ответ написан
    6 комментариев
  • Необходимо вывести список товаров числом?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    select count(*) from product

    Это называется не "вывести товары одним числом", а "получить количество строк в таблице". И по корректной формулировке ответ в поисковике находится за два клика. Как говорится - в правильно сформулированном вопросе уже заложена половина ответа. А программирование - дело точное, и формулировки в нём тоже должны быть точные.
    Ответ написан
  • Как сделать SQL запрос из двух таблиц?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пока на ум приходит получить все категории, потом в цикле пройтись по ним и...

    Естественно это не делается так. Такие задачи решаются на стороне бд через джоин таблиц. Не считая ошибки синтаксиса и отсутствия лимита, запрос в ответе Vindicar подойдет. Схема хранения не самая лучшая, так как по сути у вас получается один-ко-многим (одна категория ко многим постам), и если категорий на 1 пост будет больше 1, вся структура идет в мусор. Более качественным решением все же будет многие-ко-многим между постами и категориями.
    Ответ написан
    1 комментарий
  • MVC php на пальцах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ох...

    Model View Controller. Да ну его, ему уже 45 лет (придумали в 79-ом году). Давайте лучше про Model View Adapter погокорим. это то что все используют в популярных фреймворках последние лет так 10 так точно.

    mvc-mvp-mvvm-6-638.jpg?cb=1375170002

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

    View - это не только HTML, но и вообще представление в целом, а так же логика его формирования. Шаблонизаторы, фильтры, различные функции/объекты помогаютщие нам сформировать view (например форматирование дат, сериализаторы и т.д.) В подавляющем большинстве случаев "представление" наших данных - это HTTP запросы и HTTP ответы. HTML - э то лишь часть HTTP ответа.

    Model - Это целый слой, который может быть представлен в виде кучи отдельных объектиков, структур и т.д. Его задача - делать дела и хранить/менять состояние системы. Тут легко запутаться потому что термин "модель" много чего значит. Воспринимайте его как "слой логики" а не конкретные объекты. И да - база данных и прочая чушь - это детали реализации этого слоя. "не важные штуки" словом. Туда же и ActiveRecord, ORM-ки всякие. Это деталь реализации и все остальные чуваки (view и controller) о них знать ничего не должны (хотя иногда могут в целях упрощения).

    Controller или адаптер. Это опять же не обязательно один объект. это может быть цепочка адаптеров (еще называют фронт-контроллером, middlewares и т.д.). Его задача весьма простая. Получаем представление данных на входе (HTTP запрос), определяем что надо делать, и просим модель что-то сделать (ни в коем случае не меняем ничего самостоятельно в контроллере, он только просит). Потом мы можем попросить модель вернуть нужный нам кусок состояния, и попросить View сформировать представление (HTTP ответ).

    Как-то так. В целом же это я сейчас описал "идеальный мир". Вся суть этого подхода - разделение логики презентационной и логики приложения. Зачем это надо? что бы было проще жить! Обычно UI приложения или способы взаимодействия с ним меняются почаще логики или как минимум в разные моменты времени. Адаптеры в этом случае служат промежуточным слоем, они ничего сами не делают, это "переводчики". Они просто переводят то, что сказано в запросе в язык понятный приложению и обратно.

    Но на начальной стадии можно слегка нарушать эти правила, делать толстые контроллеры и т.д. В этом случае бизнес логика будет потихоньку "вытекать" из модели. Это не хорошо, и на хоть сколько нибудь больших проектах может привести к проблемам. Потому важно находить баланс.
    Ответ написан
    Комментировать
  • Как исправить ошибку 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 поля

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