• Можно ли писать в jQuery без $?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Старые версии jQuery поддерживают синтаксис jQuery(document)..., но скорее всего вы подключаете jQuery в конце документа, а код $(document).ready(function () {}вызываете выше подключения самой библиотеки. Либо используйте нативный евент DOMContentLoaded, либо подключайте жквери в начале страницы.
    Ответ написан
    1 комментарий
  • Выбор технологий для крупного портала?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR: Если коротко - абсолютно верный ответ дал Sanes, то есть проект будет хорошо работать если его сделает разбирающийся в своей области специалист.

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

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

    Например достаточно странно тут:
    ...несколько миллионов статичных сгенерированных страниц... данные из базы будут комбинироваться и выводиться в зависимости от типа страницы.
    Статикой тут даже не пахнет.

    Какой тип сервера выбрать apache или nginx?
    Понятно что речь идет о выборе софта (который на самом деле тоже сильно зависит от нюансов проекта, а кроме того еще и может комбинироваться), но слово "тип" не применимо в данном контексте и больше подходит к описанию железа или ОС.

    Какую БД использовать для оптимальной и бесперебойной работы
    Тип бд никак не влияет на бесперебойность работы (если не брать какой-то откровенный треш или нестабильные релизы), а производительность зависит от правильного подбора архитектуры, где есть КУЧА нюансов, таких как отношение количества запросов на запись и чтение, индексы нужного типа, необходимость в процедурах/триггерах, еще куча всяких вещей которые для вас, как для неспециалиста неочевидны или неизвестны.

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

    Какие технологии использовать для бэк-части проекта (логика вывода данных, запросы к БД)?
    Выше осветил данный вопрос.

    Как и на чем лучше написать админку (или есть готовые решения/фрэймворки)?
    Если вы не пишете ее самостоятельно, то ответ тот же что и для пункта выше, кроме того КРАЙНЕ РЕДКО админка пишется на технологии отличной от фронта.
    Ответ написан
    1 комментарий
  • Как организовать поиск ключа массива по маске в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    нихрена не понятно. Напишите что вы хотите получить. Единственное что понятно - что вы что-то не так делаете.
    Ответ написан
  • Почему после отправки формы событие submit больше не срабатывает?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $('body').click(function(e) {
                            e.preventDefault();
                            $('.success').css('display', 'none');
                        })

    по суксессу вы зачем то на body вешаете листенер который заставляет ВЕСЬ документ ложить болт на клики. Подумайте для чего это и что нужно вместо этого, а так же зачем вообще у вас этот код...
    Ответ написан
    1 комментарий
  • Сколько времени занимает разработка?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как бороться с чувством, когда к концу работы над проектом — он приедается?

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

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    overflow-x:hidden; или можно вставить картинку бэкграундом и задать ей смещение.
    Ответ написан
    2 комментария
  • Как в JS сделать запрос, аналогичный submit form в html?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - код не понятно о чем, выглядит как будто вырван с мясом из какого-то другого кода. Нет события по которому он срабатывает (по идее должен быть слушатель на субмит формы), на что намекает этот недокод formData.append("files", this.images);, где this по идее сама форма. В остальном - надо по месту проверить консоль на ошибки, и соответственно хз что у вас лежит в this.images, скорее всего ничего, и из за этого вся дальнейшая свистопляска смысла не имеет.
    Ответ написан
    Комментировать
  • Почему не работает пример с cURL?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $url = "info.php";
    почитайте во первых рфц про урл, во вторых ошибки смотрите, либо включите вывод ошибок и варнингов, либо смотрите логи.
    Ответ написан
    Комментировать
  • Как мне проверить, отправляет ли данные формы на сервер через curl в php?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    если все цифры по порядку -
    1) задайте класс или дата аттрибут для всех картинок на которые надо задать цифры
    2) по загрузке документа выбираете все картинки с этим свойством, в чистом жс получите сет, в жквери сразу итерэйбл объект. Для сета используете Array.from(ваш_сет), получите массив, и уже на массиве можете использовать цикл, чтобы задать каждой картинке номер.
    3) В цикле вешаете событие onMouseOver на ваши картинки, к событию назначаете функцию которая будет показывать текущий номер картинки.
    Ответ написан
  • Как достать переменную из класса в var_dump (код внутри)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Артур,
    Но вопрос в том, насколько это правильно, с точки зрения паттерна фабричного метода.
    Чет вы сильно путаете теплое с мягким... Внутренняя реализация классов созданных фабрикой НИКАК не влияет на "фабричность". Паттерн относится только к методу создания готовых объектов по определенным условиям. Какие это объекты вообще не суть важно. По сути они могут быть абсолютно разные, просто по логике чаще всего это однотипные объекты, отличающиеся в настройках или внутренней реализации (например все они реализуют один интерфейс, но внутри работают по разному).

    Что касается вашего кода - как я уже сказал, для вашего случая(проверки доступа для текущей роли) достаточно задать метод проверки доступа. Как то так:
    //$role = $_SESSION['role'];
    $role = 'moderator';
      class Role{
         public function checkPermission($action)
         {
             if(isset ($this->$action))
             {
               return $this->$action;
               }
              return false;
       }
    }
    
      class admin extends Role{
        protected $addItem = true;
        protected $editItem = true;
        protected $deleteItem = true;
      }
      class moderator  extends Role{
        protected $addItem = true;
        protected $editItem = true;
        protected $deleteItem = false;
      }
      class publicator  extends Role{
        protected $addItem = true;
        protected $editItem = false;
        protected $deleteItem = false;
      }
    
      class Factory{
        public static function createUsers($role) : Role{
          if(class_exists($role))
            return new $role;
          else
            echo ("Роль".$role."отсутствует");
        }
      }
    
      $login = Factory::createUsers($role);
      var_dump($login);
       
    // try to use in code:
      if ($login->checkPermission('editItem')){
         echo 'lets edit!';
      };
    Ответ написан
  • Uncaught SyntaxError: Unexpected end of JSON input?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) sendAjaxForm укажите сразу тип возвращаемого значения json, зачем эти танцы с хтмл который парсится в жсон...
    2) Загадка на сообразительность: Если логин есть и пользователя с таким логином нет - что вернет json_encode($errors);?
    Ответ написан
    1 комментарий
  • Как передать методом GET выбранный параметр из datalist?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    2 комментария
  • Почему Open Server пишет, что $_POST не существует?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Как вариант я думал написать говнокод, который на PHP преобразует первоначальную дату диапазона из 26.05.2020 в "2020-05-26 00:00:00" а конечную дату в "2020-05-27 23:59:59" а потом сравнивать, но помоему это какая-то дичь.
    То есть по вашему преобразовывать ВСЕ строки таблицы для сравнения в формат НЕ ПОДДЕРЖИВАЕМЫЙ интерфейсом бд это ок, а 2 значения привести в стандарт - не комильфо...

    Обратите внимание на ответ Rsa97, Даты сравниваются как строки, по этому и сравнение идет именно в таком формате, от года к дате. Ваше преобразование делает строки вывернутыми по смыслу, то есть сортировка идет по дате дня, год "как бы вообще не учитывается".
    Ответ написан
    Комментировать
  • Можно ли составить 2d куб из картинок php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    почему вы квадрат так странно назвали? А 3д куб думаю можно через канвас, например вот с библиотекой Three.js.
    Ответ написан
    Комментировать
  • Прошу взглянуть на мой код и подсказать где я возможно не прав?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    <input type="file" name="avatar" accept="image/gif, image/jpeg">
    облегчает человеку выбор верного формата

    if(isset($file))не гарантирует что файл загрузился, по этому нужно проверять еще и еррор, перед тем как передавать несуществующие свойства в функцию

    $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    ваще жесть, про хэш не слышали? Тем более еще и в разных регистрах называть файлы...

    В остальном обычный такой код из начала нулевых, пхп4 и вот это все...
    Ответ написан
    Комментировать
  • Как сделать ссылку со словами из заголовка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это называется slug, простейший метод - использовать класс Transliterator и preg_replace + strtolower для нелитералов.
    Ответ написан
    Комментировать