• Не генирируется случайное число в php. Как исправить?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    $random_code = mt_rand(100000, 999999);
    echo $random_code;


    Опечатка
    Ответ написан
    Комментировать
  • Как прокрутить страницу на заданую высоту?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    $("html, body").animate({scrollTop: $(".error_list_icon").offset().top - 90}, 800);


    Работающий пример: тут
    Ответ написан
    Комментировать
  • Как удалить все элементы после селектора?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    // получаем все блоки внутри блока questions
    let elements = document.getElementById('questions').querySelectorAll('div');
    
    // удаляем блок, если значение этой переменной истинное
    let deleteElement = false;
    
    // крутим цикл по этим блокам
    for (var i = 0; i < elements.length; i++) {
      
      if(deleteElement) {
        elements[i].remove();
      }
      
     // если цикл достиг блоку с id point, тогда следующим шагом нужно удалить блок
      if(elements[i].id === 'point'){
       deleteElement = true;
      }
    }


    Работающий пример
    Ответ написан
    Комментировать
  • Есть ли хороший пакет для работы с телеграм в Laravel?

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

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    functionName($someArgument, function() use(&$variable) {
      $variable = "something";
    });


    Вот так
    Ответ написан
    Комментировать
  • Заслуживает ли проект крестики нолики быть в портфолио?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Если у вас больше проектов нет, тогда можете выложить и этот проект в портфолио. Чтобы было хоть что-то показать заказчику. Но, если у вас есть более сильные работы и их много, тогда, думаю, не стоит.
    Ответ написан
    Комментировать
  • Как сделать аватарки разных форм через css?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Если у вас есть png прототипы с этими формами, тогда вы можете использовать mask-image. Пример
    Ответ написан
    Комментировать
  • Как сверстать такой блок?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Алгоритм примерно такой — создаете один родительский div, которому присваивайте свойство display: flex, внутри этого div-а создаете 3 дочерних div-ов, которым присваивайте width: 33.333333%. Внутри этих div-ов размещаете изображения и тексты. Этим div-ам можете дать text-align: center, чтобы отцентрировать изображения и тексты.

    Попробуйте сделать, если будут вопросы, напишите в комментариях, помогу.
    Ответ написан
    Комментировать
  • Как создать таблицу на странице в зависимости от переменной?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    SELECT * FROM table;

    Потом полученные данные из БД крутите через цикл foreach, например,

    <table>
      <tr>
        <th>Id</th>
        <th>Name</th>
      </tr>
      <?php foreach ($data as $item) {?>
      <tr>
        <td><?=$item['id']?></td>
        <td><?=$item['name']?></td>
      </tr>
      <?php }?>
    </table>
    Ответ написан
    1 комментарий
  • Как сделать ссылку в классе?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Эти стили распространяются и на все li, которые находится внутри ulheader.

    ul.ulheader li a {
        position: relative;
        top: -20px;
        line-height: 80px; 
        padding: 0 20px; 
        height: 80px; 
        color: #777;
       -webkit-transition: all .1s ease-out;
       -moz-transition: all .1s ease-out;
       -ms-transition: all .1s ease-out;
       -o-transition: all .1s ease-out;
       transition: all .1s ease-out;
    }


    Нужно делать так, чтобы стили распространялись только на тех li, которые стоят на самом высоком уровне от родителя.

    ul.ulheader > li > a {
        position: relative;
        top: -20px;
        line-height: 80px; 
        padding: 0 20px; 
        height: 80px; 
        color: #777;
       -webkit-transition: all .1s ease-out;
       -moz-transition: all .1s ease-out;
       -ms-transition: all .1s ease-out;
       -o-transition: all .1s ease-out;
       transition: all .1s ease-out;
    }


    Смотрите готовый пример
    Ответ написан
    3 комментария
  • В чем преимущества таблицы uploads для проецирования загруженных файлов в базу данных?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Второй вариант даст профит в будущем, если вы захотите масштабировать ваше приложение. Вы правы, такой вариант дает гибкость вашему приложению. Вот представьте, что кроме аватарок пользователям нужно добавить ещё другие изображения в свой профиль, например, фотографии для стены и так далее. Вы же не сможете впихать все фото в таблицу users. У таблицы будет очень много колонок, что ухудшит читаемость и понимание. А если у вас есть таблица uploads, вы можете туда разместить все загруженные фотографии профиля и через связь один к одному или один к многим получить эти фотография.

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

    Ещё одно преимущество такого подхода, это легкое понимание структуры для других. То есть отделение важного от маловажного, что уменьшает визуальный шум при виде таблицы users. Изучая таблицу users программист должен видеть самую важную информацию, а пути к файлам не самая важная информация, они могут лежать и в другой таблице. Это придаст аккуратности структуре.

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

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    window.location.href = "https://qna.habr.com/";
    Ответ написан
    Комментировать
  • Как предпочтительнее регистрировать админов на портале?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Создаете нового пользователя, а потом присваиваете ему роль админа. Можете это делать вручную или создать административную панель. Конечно, хорошо было бы создать панель. Так и удобно отслеживать весь список пользователей, и присваивать им роли.

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

    Как отметили ранее, первому админу роль нужно присваивать вручную, чтобы иметь доступ в административную панель.
    Ответ написан
    Комментировать
  • Почему не работает валидация поля формы?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    1. Нужно убрать function отсюда
    function formAddError(input);
    2. Везде заменить classlist на classList
    3. Здесь убрать пробел, это проверка на пустую строку.
    //Было
    if(input.value === " "){
        function formAddError(input);
        error++
    }
    //Стало
    if(input.value === ""){
        function formAddError(input);
        error++
    }

    4. Добавить класс error
    .error {
       background-color: red;
     }


    Исправленный пример можете посмотреть здесь
    Ответ написан
  • Как сделать показ контента в iframe в зависимости от пользователя?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    Используйте хук user_register, чтобы при регистрации записать адрес iframe в мета тег пользователя с помощью update_user_meta. В шаблоне значение тега можно получить с помощью get_user_meta
    Ответ написан
    Комментировать