• Ошибка с jquery?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    тут нужно либо крестик снять, либо трусы надеть. Вы делаете отложенную загрузку скрипта жквери (через дефер), и при этом вызываете код, который без него работать не будет.
    Вариантов 2:
    1) Убрать дефер на жквери скрипт
    2) Закатать весь код жквери в православный ванила жс евент загрузки, типа документ.аддевентлистенер (ДОМCонтентЛоадед)
    Ответ написан
    Комментировать
  • Что за CMS, на какой системе сделать подобный сайт?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Любой сайт в интернете можно повторить (при наличии умений либо денег), причем выбор технологии/движка и прочих нюансов вообще не определяющий фактор. Сделать надо на том что знаешь, если делаешь сам, или на том что знает и рекомендует нанятый разработчик, если вы заказываете сайт у сторонних специалистов.
    Ответ написан
  • Как вставить разметку Open Graf на сайт с шаблонным header?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как реализовать разное описание страниц и заголовки я нашла - с помощью переменных.
    ну так и
    То есть проблема все же в том, что нужно помещать ее в head.
    В чем проблема то? Выводите ваши теги в хеадер, так же как и все остальное - переменными.
    Ответ написан
  • Почему мой ноутбук не показывает мне сайты?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Все по классике:
    трейсроут
    проверить днсы
    Протестировать основные сайты на открытие
    Посмотреть ответы от сервера в консоли/нетворк браузера
    Ответ написан
    Комментировать
  • Категории не подгружаются при первой загрузке страницы, как исправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Судя по описанию, проблема в кэше.
    Система скорее всего вордпресс?
    Ответ написан
  • Обновление таблицы в бд данными, которые когда-то были, но теперь отсутствуют - как?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    делаю запрос в бд, вытаскиваю товары которые есть в API и пытаюсь искать в массиве вытащенных товаров - товары, которых нет в API через in_array,
    Для этого есть not in, перечисляете айдишники/уникальные идентификаторы всех пришедших с апи товаров, и у оставшихся ставите наличие 0 одним апдейтом.

    но что-то фигня какая-то получается, находит один единственный товар, который есть и в API и в бд
    По описанию вообще не ясно как вы ищете совпадающие товары, по этому есть мысль что проблема скорее в коде и алгоритме, чем в апи или базе.
    Ответ написан
  • Почему на ios не работает addEventListener('click')?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Емнип window это объект браузера, со своими свойствами и евентами, в которые вроде даже DOMContentLoaded не входит (вместо него есть "load"), это евент документа. Скорее странно что это работает на не айос...
    -window.addEventListener('DOMContentLoaded', () => {
    +document.addEventListener('DOMContentLoaded', () => {
    Ответ написан
    Комментировать
  • Как сверстать такое (фото)?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как добавить и реализовать эти кнопки для поля поиска?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    скорее всего тупо ссылки по типу <a href="/search?q=iPhone">iPhone</a>
    Ответ написан
    1 комментарий
  • Проблема миграции базы данных с mysql 8 на mariaDB 10?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Как уже написал Akina, полной совместимости между этими версиями нет, но основной синтаксис без каких-то хитропопых движух по типу хранимок и кастомных/новомодных типов полей вполне совместим.
    Что можно попробовать:
    1) Добавить в начале дампа игнор внешних ключей, судя по всему у вас в транзакции происходит фигня, но что конкретно ее вызывает не видно, возможно таблица требует ссылки на внешний ключ, который еще отсутствует. В конце стоит снова включить контроль ключей. DISABLE KEYS и SET FOREIGN_KEY_CHECKS=0; в начале, и соответственно включить в конце дампа.
    2) Если база большая, а инсерты в дампе не разбиты по строкам на адекватные блоки, можно попробовать убрать транзакции и посмотреть что конкретно не нравится системе. Возможно надо разбить инсерты на более мелкие блоки вставки, а возможно есть действительно несовместимый синтаксис.
    3) Если такие танцы не помогают - костыли с методом описанным Akina, через csv и потом ручками связи/ключи/индексы/хранимки.

    UPD: Народ говорит что может помочь принудительное указание типа движка таблиц и предварительная конвертация:
    The tables must be InnoDB. After converting the tables to InnoDB, the database could be migrated
    Ответ написан
  • PHP - как показать изображения в браузере из папки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я хочу вынести ее из публичной папки.
    Зачем? Есть какая-то особенная необходимость? По логике все файлы сайта должны находиться в одной папке проекта, а файлы видимые из веба в публичной папке проекта. В некоторых случаях, например когда эти файлы не должны отдаваться без какого-то уровня доступа, их выносят выше публичной папки, таким образом закрывая от прямого доступа из веб. Далее доступ осуществляется через пхп, конкретная реализация сильно зависит от задач и имеющегося кода/фреймворка. Простейший вариант - имя файла читается как параметр из урл, далее делается readfile() из этой папки с файлами, предварительно отдаются заголовки, указывающие что это файл изображения. Хотя без понимания "зачем" реализация "как" это тыканье пальцем в небо. Может вам симлинк тупо подойдет...

    В идеале - в любое место на диске, которое захочу.
    Так делать не нужно. Это во первых нарушает безопасность, так как вы даете права на чтение из веба в папку, которая не должна быть доступной левым пользователям, во вторых распыляет проект по машине, что тоже не есть хорошо как минимум в плане организации.
    Ответ написан
    2 комментария
  • Как называется функция меню сайта?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    по итогу генерируется фото футболки с теми параметрами, которые он выбрал?
    Называется "влажные фантазии". Обычно на маркетплейсах за подобный функционал отвечает фильтрация, а не меню. Никакой генерации обычно не используется, просто фото всех доступных вариантов есть в виде картинок, а параметры перечислены в бд.

    Если ищете готовые решения - скорее всего подойдет вордпресс + вукомерс. Так же можно поискать готовые онлайн магазины SAAS, с оплатой помесячно с нужным функционалом.
    Ответ написан
    Комментировать
  • Как полностью сбросить кеш статики в laravel?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Кеш именно статики, после обновление картинок уловно в public/assets в формате PNG, они упорно не отображаются даже при прямой запросе изображения в строке браузера.
    Кэш "статики" это чисто в вашем браузере. На другой машине все ваши картинки будут отображаться нормально при первом заходе, но так же перестанут подгружаться измененные при последующих заходах. Никакие "кэши ларавела" конечно же за это не отвечают.

    Как решения прописывать каждый раз новые пути и название картинок - но не оч удобно при разработки визуала.
    Можете использовать версию, что-то типа <img src="logo.png?<?=VER?>">, естественно надо будет менять эту константу при изменении картинок, хотя это и некоторого рода костыли. Правильным решением будет переход на сборку фронтенда сборщиками, но так тоже будет работать.
    Ответ написан
    Комментировать
  • Как ОТВЕТИТЬ на письмо через PHPMailer?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Для этого в письмо-ответ надо добавить заголовок In-Reply-To с указанием значения заголовка Message-Id оригинального письма. В заголовок References ответа надо скопировать все ID из заголовка References оригинала и дописать после пробела значение заголовка Message-Id оригинального письма.

    В вашем коде я не вижу как вы получаете $message_id, который должен быть вытащен из оригинального письма, соответственно скорее всего отсутствие указание на изначальное письмо не позволяет определить к какой цепочке относится ответ.
    Ответ написан
  • Как установить PHP в режиме отладки под Ubuntu?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Но при попытке запустить этот же скрипт из командной строки я получаю ошибку о том, что расширение pdo_mysql.so не может быть загружено.
    Для cli и для "веба" разные php.ini, в которых естественно включены разные расширения.

    php --ini для cli
    phpinfo() для веба
    Ответ написан
    5 комментариев
  • В чем ошибка SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) $params собственно нужен для биндинга, чтобы не вставлять данные прямо в запрос, так как это чревато инъекциями. По этому дебильный совет "просто поменяй на $stmt->execute();" желательно проигнорировать.

    2) Вместо переменных нужно вставить плейсхолдеры, именованные или безымянные не особо важно. Естественно количество плейсхолдеров должно совпадать с количеством элементов в массиве.

    3) Даже в таком виде как у вас запрос работать не будет, так как строковые переменные в рамках запроса должны быть в кавычках.

    4) WHERE $email что? Вы вообще понимаете что и для чего пишете? Просто переведя на русский "где емэйл" не кажется вам слегка странной конструкцией? Просто загляните в документацию SQL где описывается WHERE.
    Ответ написан
    Комментировать
  • Есть ли смысл перенести Mysql на другой сервер для ускорения сайта?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    В основном, видимо, нагружают они.
    Профилирование?
    Ответ написан
    2 комментария
  • Ошибка при вызове окна сохранения, как решить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Судя по скрину, у вас сначала выводится дофига контента, а затем вы пытаетесь отправить файл. Так как все заголовки уже отправлены, естественно никакие данные в заголовок посреди вывода контента уже не добавятся (о чем собственно и написано в варнинге).
    Ответ написан
    Комментировать
  • Как сделать возможность добавления картинки товара, загружая её перед этим в БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть ли какие-нибудь хорошие файловые хранилище с которыми удобно и практично работать?
    Файловая система. Это самый удобный и практичный метод хранения мультимедийных файлов. В зависимости от ваших возможностей, компетенций и используемых технологий, вы можете использовать как локальную ФС, так и любое облачное хранилище через соответствующее АПИ, используя драйверы доступа к файлам, например как это реализовано в Ларавел.
    Ответ написан
    Комментировать
  • Почему при попытке получить xml данные через file_get_contents() получаю timeout?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) попробовать скачать файл меньшего размера, если проблема в размере - смотреть настройки сервера, вполне возможно что это проблема апача/нжинкса/пхп на максимальный размер какого-нибудь буфера/файла (у меня он кстати не открывается до конца, хотя возможно проблема в чем-то другом). Возможно запрос через браузер выдает вам файл нормально, так как у вас он вытаскивает файл вообще из локального кеша, и вы не видите реальной проблемы в браузере.

    2) Проверить не слетели ли пермишны с файлов/папок (такое иногда бывает на хостинге) и условный пых теперь не имеет доступа к этому файлу. Тут может быть нюанс с настройкой сервера, когда локальный домен запрашивается по серому внутреннему айпи, опять же - надо смотреть настройки, например проверить лукап с сервера на домен, не выдает ли он что-то типа 192.168.10.55 .

    3) Проверить сам код, возможно он тупо зависает с каким-то бесконечным циклом и падает по таймауту... Можно вместо вывода в нем прям писать в файл и проверить все ли ок.
    Ответ написан
    Комментировать