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

    @402d
    начинал с бейсика на УКНЦ в 1988
    Не надо так хранить ( две сущности значение и единицы измерения) в одном поле.
    Сделайте поле только для значения. Например в секундах. 900 - будут ваши 15 минут. 3600 - 1 ч
    А то как их показать пользователю задача представления , а не модели.
    i18n преобразования делаются тоже на уровне view (представления)
    Ответ написан
    4 комментария
  • Возможно ли без хостинга отправлять письма из формы?

    @402d
    начинал с бейсика на УКНЦ в 1988
    без хостинга можете только ссылку на mailto протокол сделать
    https://ru.wikipedia.org/wiki/Mailto

    если сильно заморочиться, то динамически ее собираете
    subject body

    Но в результате только откроется почтовая программа на компьютере (телефоне)
    с уже заполненной темой письма и текстом. Отправить письмо человек должен сам.
    Ответ написан
    Комментировать
  • Почему /usr/lib/php/sessionclean не очищает устаревшие сессии?

    @402d
    начинал с бейсика на УКНЦ в 1988
    find /var/lib/php/sessions/sess_* -mmin +240 -delete;

    ну так чистите нужную директорию в лоб ;)
    например таким таском раз в час. что старее min +240 (240 минут = 4 часа)
    Ответ написан
    2 комментария
  • Можно ли отдать пользователю на скачивание в один момент пару файлов?

    @402d
    начинал с бейсика на УКНЦ в 1988
    https://guidepc.ru/applications/google-chrome/kak-...
    почему и как рекомендуют такой функционал отключать в браузере

    вот описание такой атаки
    https://en.wikipedia.org/wiki/HTTP_response_splitting

    В общем принцип в интернете . один запрос. один явный респонс на него.
    Можете сгенерировать страницу со встроенным js и внедренными в него данными. А потом использовать js для формирования файлов
    Ответ написан
    Комментировать
  • Как отправить http запрос, лежащий в переменной?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Какой из 6 типов HTTP запроса Вас интересует ?
    https://meliorem.ru/tools/linux/protokol-http-osno...

    Допустим в переменной урл и нужно отправить данные через get
    file_get_contents($var);

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    думаю там форма отсылается через ajax .
    проще посмотреть в консоле броузера какой запрос из этого поля делается к серверу.
    Ответ написан
    Комментировать
  • Существуют ли CDN для PHP библиотек?

    @402d
    начинал с бейсика на УКНЦ в 1988
    $code = file_get_contents('https://cdnphp.com/blablabla.php');

    ладно, хостинг можно настроить, чтобы отдавал как текстовый файл, а не исполнял.
    на каждый хит к хосту будет
    а) днс запрос. Если на хостинг площадке нет своего , то использует публичный хостера.
    А тот при превышение определенного кол-ва начнет фризит запросы на 3-5 секунд
    б) https handshaking тут около 100мс
    в) сколько весит либа. считайте сами время за которое она каждый раз скачается
    г) опкоде кеш работать не будет. Накиньте время за которое прожуется
    д) либ собранных в один файл почти нет
    так, что в-д повторите несколько раз.

    В общем вместо быстрой оперативной памяти Вы хотите медленно и печально работать по сети.
    Ну и входящий трафик хостер может вас заставить оплачивать как "уникума"
    Ответ написан
    Комментировать
  • Как телеграмм бота разместить на локальном хосте и запустить?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Getting updates
    There are two mutually exclusive ways of receiving updates for your bot — the getUpdates method on one hand and Webhooks on the other. Incoming updates are stored on the server until the bot receives them either way, but they will not be kept longer than 24 hours.

    Regardless of which option you choose, you will receive JSON-serialized Update objects as a result.

    HTTPS хостинг на динамическом ip ? Так, что остается только вариант по крону получать пришедшие боту сообщения и отсылать ответы.
    В общем тут достаточно минусов, чтобы заплатить деньги за хостинг и не мучаться.

    Но если все же решите работать через
    https://tlgrm.ru/docs/bots/api#getupdates
    то обратите внимание на 3й параметр (таймаут).

    Можно скрестить запуск по крону и правильный расчет этого параметра.
    В результате будет отвечать моментально и завершать скрипт на 58-59 секунде.

    сперва указываете 58 секунд.
    например на 25 секунде пришел ответ.
    обработали . послали ответ . посмотрели сколько прошло времени от запуска скрипта
    запросили заново с таймаутом 58-прошло_секунд.
    если время подошло к концу, то завершили скрипт.
    Запуститься снова на следующую минуту по крону
    Ответ написан
  • Нужно ли размещать backend часть на сервере?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Для простоты считайте что у вас две переменных.
    Адрес_сервера и часть_урла
    Фактически это может быть проперти или метод класса.

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

    А еще проще, в коде не должно быть захардкоженого имени домена.
    Сменился домен. поправил одну строчку в конфиге. все опять работает
    Ответ написан
  • Почему нет ответа от api Альфа-банка?

    @402d
    начинал с бейсика на УКНЦ в 1988
    во первых, форма здесь в демо целях.
    Во вторых тут типовая схема работы мерчанта с предварительной регистрацией оплаты.

    1. Делается запрос со стороны сервера к апи.
    2. Апи возвращает ссылку на которую нужно отправить пользователя.
    3. пользователь на сайте платежной системы ввел все данные и нажал оплатить
    4. К вашему сайту может идти запрос, готовы ли вы принять факт оплаты.
    5. На который отвечаете "Да. идите денежки ко мне"
    6. Мерчант запускает процедуру списания денежных средств.
    7. Приходит авизо - запрос к вашему сайту, что вам поступил платеж.
    7а Если не ответили утвердительно "Все верно о поступлении денег знаю", то апи с определенной переодичностью
    будет пытаться повторить авизо.
    8. Пользователя отправляют по ссылке обратно на ваш сайт.

    ну и сбоку тут еще может быть обратный переход при неудаче оплаты.
    Ответ написан
    Комментировать
  • Как правильно интегрировать api в паттерн MVC?

    @402d
    начинал с бейсика на УКНЦ в 1988
    - сколько будет 2+2 ?
    - а мы продаем или покупаем ?

    Я это к чему. Если сайт должен реализовать апи для внешней системы, то
    это практически обычный сайт, только response в виде json/xml и т.д.

    Если сайту нужны чужие данные , то модель.
    Лучше сделать внешней библиотекой (классом) и обертку посредник для модели фреймворка .
    Ответ написан
    Комментировать
  • Как определить что сервер именно локальный?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Частный случай, когда виндовс на локале и юникс на хостинге, то через предопределенную константу DIRECTORY_SEPARATOR

    ну и $_SERVER['HTTP_HOST'] - в локалке думаю будет другим чем на хостинге ;)
    это решение менее универсально так как завязывается на конкретное имя домена
    Ответ написан
  • Как при создании объекта класса методом load добавить значение его свойства без ___construct?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Можно модифицировать для цепочного синтаксиса метод
    /**
         * @param $val
         * @return $this
         */
        public    function setProp($val){
            $this->property = $val;
            return $this;
        }


    Или быть проще и в методе load использовать переменную
    $instance = new MyClass() ; // Попутно Класс с большой буквы чтобы отличать от объекта созданного из него
    $instance->setProp();
    return $instance;
    Ответ написан
    Комментировать
  • Как присоединить двух пользователей на сайте?

    @402d
    начинал с бейсика на УКНЦ в 1988
    у Вас пока нет понимания, что тут две разных вещи
    фронт и бакенд
    В обоих случаях php и node часть, которая работает на компьютере (телефоне) посетителя будет почти одинакова
    ждать ввода и слушать сокет .
    нужно отправить - передали на сервер.
    Через сокет пришло сообщение - добавили в дом html страницы

    так вот в броузере у нас используется html,css,js

    а про то что Вы спрашиваете - это серверная часть.

    А страничка, которую сперва показывается клиенту, может лежать хоть в виде статических файлов
    Ответ написан
    Комментировать
  • Как исправить ошибку curl "60: SSL certificate problem: self signed certificate in certificate chain"?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Надо настроить
    curl.cainfo=
    openssl.cafile=

    .PEM файл ссылка https://curl.haxx.se/docs/caextract.html

    не забыть перезапустить апач
    Ответ написан
    Комментировать
  • Неправильное понимание работы foreach из-за этого не могу понять как вывести данные из бд???

    @402d
    начинал с бейсика на УКНЦ в 1988
    На ваш вопрос почти не возможно ответить НЕ токсично.

    Тут каждая строчка перл.

    Начнем с шаблона как более адекватной вещи
    в начале его видим секцию комментариев.
    $products - такая переменная должна прийти в шаблон

    а передаете
    echo $this->render('all_card', ['product' => $product]);

    сильно сомневаюсь что там должен быть app\models\Product . имхо забыли дописать квадратные скобки, что это массив сущностей.

    в контролере вообще что с чем-то

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    Выясняете у холдинга на каком стеке сделаны их сайты.
    Например Php+MySQL или ASP или что конкретно.
    Среди специалистов этого стека ищите тех кто прикручивал яндекс кассу или робокасу . вообще любую платежную систему.

    Этот человек с банком экваером заключает соглашение о не разглашении.
    Получает документацию. Максимум за неделю сделает.

    Отличие от платежных систем. В одном шаге.
    Перед тем как рисовать клиенту нужно обратиться к апи банка и зарегистрировать
    желание оплаты. Нужные данные от апи использовать для следующего шага.
    А у платежных систем форму оплаты можно рисовать сразу.

    Ну и возможно к учетным системам холдинга сайт должен делать запросы по апи,
    чтобы узнать например задолжность по услугам перед тем как рисовать форму оплаты.
    Ответ написан
    3 комментария
  • Почему перестал работать file get contents?

    @402d
    начинал с бейсика на УКНЦ в 1988
    если курл работает, а файл гет контент нет.
    То моя ставка на то, что хостер наконец то накатил что типа сухосина.
    Ибо его задолбали автовзломы дырявых бесплатных движков
    Ответ написан
    Комментировать
  • Почему выпадающее меню пусто?

    @402d
    начинал с бейсика на УКНЦ в 1988
    посмотрите в исходный код страницы в броузере.
    У оптиона ключ название категории и литерал не закрыт. Видимая часть отсутвует.
    Читаем синтаксис html и исправляем свою строку. Правильное поле в ключ. Название в значение.

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    У меня одна идея. У таблицу user должен был быть индекс, который вы забыли создать. Уникальный индекс. Возможно он там был не явно обозначен как primary по автоинкрементному полю
    Ответ написан