• Как исправить ошибку JSON Parse Error: Expecting 'STRING' из результат json?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В JSON ключи и строковые значения должны быть в двойных кавычках.
    Ответ написан
    7 комментариев
  • Лучше самописный интернет-магазин или на конструкторе?

    Anastasia2306
    @Anastasia2306
    PHP-разработчик.
    Если вы будете нанимать разработчиков и скажете им что вам нужен интернет магазин с нуля, то ориентируйтесь на минимум в 4-5 миллионов рублей и сроки в 6-12 месяцев.

    Если делать на готовой CMS - то ориентируйтесь на 50-100 на разработку шаблона, какого-то доп функционала.

    Если делать на готовой CMS но самому - то 0 рублей.

    Если использовать облачный SaaS конструктор - то от 1.5 до 3 т.р. в месяц.
    Ответ написан
    Комментировать
  • Как ограничить доступ к странице сайта на устройстве пк браузеров?

    Anastasia2306
    @Anastasia2306
    PHP-разработчик.
    Один из способов определения мобильного устройства является глобальный массив $_SERVER. Нас интересует $_SERVER[‘HTTP_USER_AGENT’]:

    function check_mobile_device() { 
    	$mobile_agent_array = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
    	$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
    	foreach ($mobile_agent_array as $value) {
    		if (strpos($agent, $value) !== false) return true;
    	}
    	return false;
    }


    Используем так:

    if (check_mobile_device()) {...}
    Ответ написан
    2 комментария
  • Как установить Laravel на обычный хостинг-сервер?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Но теперь решил, что пора двигаться дальше и нужно установить его на свой хостинг. Вот только как это сделать? Там нужен композер или еще что-то?

    Не нужен. Композер - это менеджер пакетов, который разгружает файлы в папку "vendor", а так же обновляет их там и т.д. Нет никакой проблемы закачать их "руками", в конечном виде, на хостинг.

    Максимум, что может понадобиться - это наличие сервера Apache (коий есть примерно у 95% хостеров), что бы переопределить корневую директорию проекта.

    Весь мануал будет удивительно краток:
    1. Загружаете все файлы на хост ("как есть")
    2. Создаёте в корешке хоста файл .htaccess вот с таким содержимым:
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>

    3. Готово

    Там нужен композер или еще что-то? Ну и все эти приблуды с локального сервера. Буду благодарен за предоставление мануала. Спасибо :)

    "Композер и что-то ещё" могут быть нужны при наличии некоторых механизмов "деплоя" (англ. "deploy"), но это уже не хостинг, а как минимум VPS, и желательно там иметь Git и другие механизмы и т.д... Когда Вам это очень понадобиться - вопросы подобные тому, что Вы озвучили выше - отпадут сами собой :)
    Ответ написан
    7 комментариев
  • Почему не обрабатывается первое нажатие на чекбокс?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Так а зачем Вы дважды назначаете обработчик события?

    Вы какой код написали, так он и работает. При первом change вы добавляете обработчик change, который уже в свою очередь работает с консолью.

    $(document).ready(function() {
        
      let checkbox = "";
    
      function checkbox_add() {
            var isChecked1 = $("#foundation").prop("checked");
            var isChecked2 = $("#drop").prop("checked");
            
            if (isChecked1 && isChecked2) {
              checkbox = "Выбрано два чекбокса";
            } else if (isChecked1) {
              checkbox = "Выбран 1 чекбокс";
            } else if (isChecked2) {
              checkbox = "Выбран 2 чекбокс";
            } else {
              checkbox = "Ничего не выбрано";
            }
    
            console.log(checkbox);
      }
    
      $("#foundation, #drop").on('change', checkbox_add);
    });
    Ответ написан
    2 комментария
  • Как обновить страницу у пользователя при выполнении условия?

    Newto
    @Newto
    Правильная реализация сказана выше Алексеем -- это нужно делать через сокеты.
    Более простая, но нежелательная реализация -- через аякс. Выглядит это примерно так: 1) администратор клацает галочку -> ставится запись в БД (admin_klazz = 1). На стороне пользователей стоит скрипт, который раз в, скажем, 10 секунд проверяет статус этой самой admin_klazz. Если admin_klazz изменяется с 0 на 1, то перезагружается страница. Но если это реляционная база типа MySQL то дергать ее каждые 10 секунд еще и многими пользователями -- очень плохая идея. Однако если у вас стоит, скажем, Redis, и вы будете записывать этот флаг admin_klazz в него, то это сильно минимизирует затраты серверных мощностей.

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

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

    opium
    @opium
    Просто люблю качественно работать
    Сделать миграцию сайта на новый домен в Яндексе, а после этого сделать редирект 301 на новый для Гугла
    Ответ написан
    Комментировать
  • Как эффективно учить 2 языка программирования?

    @antonowano
    Профессиональный самоучка
    Для начала осознайте разницу между Javascript и PHP, а потом приступайте к изучению.
    Вот интересный ресурс по JavaScript.
    По PHP тоже много ресурсов, Google вам в помощь.

    Главное запомните:

    Есть два компьютера:
    Сервер - на котором хранится сайт и все его данные,
    Клиент - компьютер посетителя.
    PHP работает с компьютером-сервером, JavaScript с компьютером посетителя.

    а именно:
    PHP - работает с данными на сервере, генерирует ответ на запрос клиента;
    JavaScript - работает с элементами на странице, добавляя анимацию и события (клик, скрол и т.д.) на разные элементы.
    Ответ написан
    1 комментарий
  • Размещение текста по центру экрана

    kyrie
    @kyrie
    В общем случае решения нет, зато есть куча частностей.

    Если текст в одну строку и есть возможность использовать абсолют (что далеко не всегда)то —
    position:absolute;
    width:100%;
    top:50%;
    text-align:center;

    Если известна высота блока и можно использовать абсолют, то вариант предложенный выше.

    Если нельзя использовать абсолют, но известна высота блока и текст в одну стоку — то через line-height равный высоте блока.

    Ну и 100% кроссбраузерная классика о которой вечно все забывают — зафигачить таблицей с одной ячейкой.
    Ответ написан
    1 комментарий