Задать вопрос
Ответы пользователя по тегу PHP
  • Как на PHP сделать ссылку, без указания файла PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    единая точка входа и настройки сервера (mod_rewrite или для нжинкс там другие немного директивы), + роутинг.
    Ответ написан
    Комментировать
  • Как передать массив в JS Autocomplete из PHP?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $str = 'Toster классный сайт';
    $final_str = count(explode(' ',$str,2))>1?explode(' ',$str,2)[1]:'';
    var_dump($final_str);
    Ответ написан
    Комментировать
  • Как генерировать уникальные логины для автоматически регистрируемых пользователей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    решение "в лоб" - первая часть емэйла + '_at_mailserver.tld'; Гарантирует уникальность, но палит емэйл, как впрочем и ваш способ, грубо говоря логины ваших пользователей можно смело заносить в листы спам рассылки в обоих случаях, разве что в вашем решении подбирать мэйл провайдера не надо.

    решение по уму - давать пользователю самому выбирать юзернэйм, а для логина использовать почту.

    Решение по-лентяйски - первая часть емэйла + проверка на совпадение с уже имеющимися и тупо + циферки в конце. Vasilii666 - тоже норм.
    Ответ написан
    Комментировать
  • Как можно через htaccess указать id с другими страницами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Роутинг, не?
    Ответ написан
    Комментировать
  • Не работают теги на php/laravel. Почему?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Какая то магия, есть форма
    Магия вне Хогвардса не работает, все поддается куда более простым законам природы )

    И вообще можно посмотреть что уходит постом?
    для посмотреть что отправляется - смотрите девтулс - нетворк, там все видно.

    я больше всего понять не могу, почему форма отправляется с кнопки, а через jquery нет.
    Значит какое-то условие в вашем коде не выполняется, логично же. Ставьте console.log() по ходу выполнения цепочки, смотрите значения, думайте...
    Ответ написан
    1 комментарий
  • Почему не выполняется оператор "if"?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if (in_array($server, $changed)) {
    выводит 1
    Во первых данное выражение само по себе ничего не выводит.
    Во вторых - учимся пользоваться var_dump(), смотрим что попало в переменные ДО проверки в условии, проверяем что условие "сработало" сразу следующей строкой после иф, далее по коду выставляем больше вар_дампов богу вардампов!, если у вас дебаггер не подключен. Короче, имея информацию что происходит - можно говорить о том что что-то не так, а пока у вас необоснованные заявления о том что что-то где-то чему-то равно, но не работает. Обычно в таких случаях кто-то... трындит, и подозреваю что это не интерпретатор пхп...
    Ответ написан
  • Как оптимизировать одновременную подгрузку 2000 картинок низкого качества?

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

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

    В редких случаях используют "фиктивную" пагинацию на js, то есть весь контент загружают как список с бэкенда, а на фронте делят его на куски, и по нажатию показывают кусок соответствующий номеру страницы.
    Ответ написан
    5 комментариев
  • Если в куках только PHPSESSID нужно ли уведомлять юзера?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если я верно понял вопрос
    $js = <<<JS
    ...
    const urls = ["url","url2","url3"];
    let url = urls[0];
    ...
    JS;
    preg_match_all('/"([^"]+)"/',$js,$array);        
    var_dump($array[0]);
    Ответ написан
  • Как сделать sql запрос с несколькими категориями в выдаче и в нужно процентном соотношении?

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

    Например вы в итоге хотите показать 10 фильмов в ленте рекомендаций, 50% боевиков, 30% драма, 10% комедия и 10% научпоп. Делаете 4 отдельных запроса с соотвтетствующими лимитами на каждую категорию (5,3,1 и 1 соответственно), склеиваете полученные массивы - профит.

    PS: Для того чтобы они потом не шли по порядку, а были худо-бедно в разброс, неплохо по итогу перед выводом сделать аррэй_шаффл.
    Ответ написан
    Комментировать
  • Как соединиться через curl с сайтом на опрелененный ip?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    рекурсия + is_array()
    Ответ написан
    Комментировать
  • Как зделать чтобы кнопка добавляла товар в корзину больше 1 раза на Java скрипте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    2 варианта:
    1) Массив js со всеми продуктами, ключи - айдишники товара, значение - объект, где есть количество и цена. По клику передавать айди товара в обработчик, поменять количество, из массива перерендерить либо весь блок корзины, либо значения суммы на товаре, количества на товаре и общую сумму, по вкусу.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это такой простой способ.
    Способ нормальный, просто к искусственному интелекту это относится так же как табличка экселя с 2 формулами - то есть никак. Тупо статистика в самом примитивном виде.

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

    Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?
    Нет, если пользователей будет 1000, а кино в среднем около часа, то активность в плане записи в бд будет околонулевая, за 60 минут ~1000 действий, что примерно равно 1 действие в 3 секунды. Даже если активность будет в 10 раз больше, а пользователей тоже в 10 раз больше - активность в итоге будет около 100 действий за 3 секунды, или 30-40 действий в секунду, для нормальной структуры бд это вообще не нагрузка.
    Ответ написан
    Комментировать