Задать вопрос
  • Что будет, если убрать из URL уникальный id у новости в CMS?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Проверить что приходит в $_POST
    2) Не использовать стандартную функцию mail(), так как она слишком плохо дебажится, да и в целом не айс.
    3) Поставить нормальный мэйлер, типа пхпмэйлер/свифтмэйлер.
    Ответ написан
    Комментировать
  • Какой стек использовать для кастомизации магазина на Woocommerce?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Есть магазин на WP

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

    Подскажите пожалуйста куда двигаться: разработать новую тему на php, или взять пустую тему на underscore и написать надстройку на JavaScript? Какой из вариантов дороже? Какой вариант правильнее, если рассматривать с точки зрения на перспективу (возможно дальше будем делать приложение).
    Это вам подскажет только человек, добровольно решивший потратить часть своей жизни на изучение вордпресс как системы. Что касается приложения - то там есть много вариантов, часть из которых вообще никак с сайтом не взаимодействует, так как работает через апи, а часть наоборот - тупо оборачивают существующий сайт в свою имитацию браузера. Так что я бы не стал на этом акцентироваться.
    Ответ написан
    3 комментария
  • Как создать файл для добавления контакта в телефонну книгу правильно?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Э.. страничка в интернете? Делаете линк на телефон активной ссылкой и вот вам добавление в телефонную книгу.
    Ответ написан
  • Функция move_uploaded_file выдает ошибку 0, что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    move_uploaded_file возвращает true или false, никакого нуля она не возвращает. Ищите варнинги в логах, там все написано.
    Ответ написан
    Комментировать
  • Как исправить ошибку PHP curl_error, curl_errno 77?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Хранить html код в столбце поста кажется нецелесообразным по ряду причин:
    Угу, ага...

    Лишняя трата памяти на хранение html тегов
    Ого, а лишние это сколько? Экономия на байтах чаще всего приводит к тратам на вычислительные мощности. Некоторые расчеты чуть ниже.
    Уменьшение производительности (?)
    Производительности чего?

    Стили/компоненты могут изменяться, а код останется прежним
    Стили как раз и нужны для того, чтобы легко конфигурировать визуал, не привязываясь к коду. Код может быть каким угодно, но стилизация через теги пока что лучший вариант, который придумали разработчики.

    Использовать собственные минифицированные теги, благодаря которым определенный парсер будет воссоздавать нужные блоки с помощью компонентов (возможно динамичесих)
    Ага, переизобретаем BBCode, найс... Для понимания проблемы - такие коды придуманы для форумов, с целью ограничить использование хтмл в пользовательском вводе. При этом подходе он худо-бедно оправдан, хотя и требует постобработки при каждом выводе, а это использование регулярок, что как бы совсем не бесплатно. В вашем же случае, источник текста более-менее доверенный, и ограничение в тегах больше мешает чем помогает.
    Что касается экономии на "минифицированных" тегах, ну допустим сэкономите вы 100 байт на тегах, то есть на 1000 постов экономия будет.... ТА-ДАААМ! 0,1 мегабайта! А если экономия 1000 байт на пост, то целый МЕГАБАЙТ можно сэкономить! Похвальная рачительность.

    Хранить каждый элемент поста отдельно в бд со следующим содержанием (element_name, position, content, post_id), используя отношения к родительскому посту, соответственно сохранится структура и рендериться пост будет через соответствующие компоненты в нужном порядке (однако как будет именно рендериться в шаблоне поста пока неизвестно)
    Базовые элементы и так должны храниться отдельно, другой вопрос почему они у вас рендерятся в одном порядке, а в другом месте в другом порядке? Заголовок, короткое описание, текст, главное изображение - отдельные поля, оглавление по сути часть текста, зачем его выносить отдельно - загадка, это же такой же текст, котрый автор волен располагать . Вариант с внешней таблицей по сути приводит нас к выносу части данных в EAV(отличный пример универсализации в ущерб производительности), что как раз будет серьезно напрягать выборки бд, если понадобится делать какие-либо поисково-выборочные манипуляции по этим данным.
    Ответ написан
    6 комментариев
  • Как с помощью смартфона проверить ширину лазерного реза?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    IMG_0954.jpeg
    Ответ написан
    Комментировать
  • Как корректно обработать строку запроса типа catalog/aloe/aaaa, если третий параметр в роутинге не предусмотрен (только /)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Разбиваю строку на массив, из первого параметра получаю имя контроллера и создаю соответствующий экземпляр. Если нет второго параметра, вызываю действие по умолчанию: на сайте это отобразить каталог, или страницу со сатьями (uri соответственно mysite.com/catalog или mysite.com/articles). Если же есть второй параметр (это название конкретного растения или id статьи), вызываю другое действие и передаю параметр (получается mysite.com/catalog/aloe)
    то что вы реализовали к роутингу имеет такое себе отношение. Роутинг обычно опирается на правила, а увас тупо захардкорен контроллер. Что будете делать если сложность будет чуть выше, и например, добавится язык перед контроллером?

    При запросе вида mysite.com/catalog/aloe/test, т.е. когда через слеш появляется третий параметр, та же страница с уведомлением для пользователя отображается без стилей
    Логично, стили у вас лежат всегда в одной папке, а вы их каждый раз подключаете из разных "путей" в урл, от которых зачем-то высчитываете сколько папок "выше отмотать". Путь должен быть абсолютным.

    Вот логика проверки, буквально, если в массиве получилось больше двух элементов, отобрази страницу ошибки
    Вообще логика должна быть такой, что если больше 2 параметров, то все что дальше помещается в какой-то массив, например $parameters, который можно получить из роутинга, и дальше в зависимости от значений что-то делать. Правильнее все же было бы сделать сопоставление пути с контроллером, экшеном и параметрами, как во взрослых роутерах, но для начала и так сойдет.
    Ответ написан
    1 комментарий
  • Как исправить ошибку?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что в запросе что-то типа селект * , соответственно айди тупо переписывается. Создайте алиас для нужного поля, типа comments.id as comment_id, users.id as user_id

    Если используется построитель запросов, укажите какие поля нужны и выставите алиасы через встроенные методы.
    Ответ написан
    6 комментариев
  • Где лучше хранить переводы в мультиязычном сайте?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Мой инпут содержит всего 1 название фото, из-за в базу данных и отправляется 1 фото
    Для загрузки большого количества файлов из одного инпута используется тег multiple.
    Для того чтобы понимать что приходит в пхп делайте print_r($_FILES); и смотрите что там пришло.
    Естественно для обработки более 1 файла нужен будет цикл, перебирающий $_FILES.
    Ответ написан
    Комментировать
  • Как перенаправлять пользователя, если возникла ошибка 500?

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

    пробывал в htacces:
    ErrorDocument 500 /error?error=500
    Логично что если сайт не работает, то и любое обращение к нему будет вызывать ту же 500 ошибку. Единственный способ что-то отобразить - статика, просто хтмл страничка оформленная в стиле сайта с нужным статичным контентом...
    Ответ написан
    3 комментария
  • Каким методом можно вернуть переменную из proc_open?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    А как вывести переменную?
    Не очень понятно что вы пытаетесь поучить и куда. Откуда взялся $res?

    Не echo $res; а return $res; и получить её в $stdout?
    stream_get_contents() возвращает строку, что бы вы себе не навоображали...
    Ответ написан
    5 комментариев
  • Как построить обмен данными между js и программой на python?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    64d0c778e42bb734643045.jpeg
    Ответ написан
    Комментировать
  • Почему при ajax запросе на php файл ничего не приходит?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вроде запрос уходит
    Что в пэйлоаде? Вангую что там ничего связанного с $_POST переменными нет...

    contentType:"application/json; charset=utf-8"
    Так как вы явно указываете что будете передавать строку жсон в теле запроса, не понятно что вы пытаетесь найти в $_POST.

    <?echo($_POST);?>
    Во первых отвыкайте использовать шорт теги, во вторых переменная $_POST это массив, и соответственно через ехо его выводить бессмысленно, и в третьих, как я написал выше, там ничего нет, так как данные передаются в теле запроса.
    Ответ написан
  • Почему не отправляется форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Что пишет конслоль?
    2) Запрос вообще выполняется? В нетворке виден запрос по субмиту на mail.php?
    3) Что показывает нетворк в пэйлоаде запроса?
    4) Что возвращает сервер на запрос?
    Ответ написан
  • Как узнать найти и извлечь PaReq, не будучи программистом?

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Простой ответ: что вы хотите - это вордпересс, цмс с изначально не оптимальной структурой, так как не возможно сделать и быстро и универсально, чем-то приходится жертвовать.

    Сложный ответ: Для того чтобы выявить проблему используют логирование и профилирование. В лог пишутся все запросы к бд или места где предполагается длительное выполнение кода (например запросы к апи или другим сайтам). Затем анализ, потом нахождение решения и фикс.
    Профилирование же состоит из комплекса действий по нахождению узких мест. В частности код условно делится на блоки, затем выполнение каждого блока замеряется и выясняется какой блок создает задержки. Далее соответственно данный блок дробим до тех пор пока не находим конкретное место проблемы. 80% вероятности что это будет какой-то запрос, с выборкой из нескольких таблиц и структурами по типу EAV, 18% что запрос к какому-то апи/сайту и 2% что тормозит именно криво написанный код (хотя это вордпресс, тут вероятности примерно равные). Что делать зависит от того что за проблема в конкретном случае. Иногда надо что-то закешировть, иногда править запрос, добавлять индексы, возможно что-то менять в структуре. Тут уже от ситуации...
    Ответ написан
    5 комментариев