Ответы пользователя по тегу PHP
  • Почему в консоли вылетатет ошибка unexpected character at line 1 column 1 of the JSON data, когда поля формы не заполнены?

    @402d
    начинал с бейсика на УКНЦ в 1988
    С чем это связано?
    С грязным стилем написания кода.

    661c33f25f339728912163.png

    Если задавить вывод ошибок, то код начнет работать.
    !!!! НО !!!!!
    661c35352405c300063421.png
    Как быстро вы отловите ошибку с тем, что подчеркнуто красным ?
    Ответ написан
  • Код 127 в exec()?

    @402d
    начинал с бейсика на УКНЦ в 1988
    вот почему то мне кажется

    если запустить команду вводимую

    и вызов exec() из php
    это разные пользователи от лица, которых запускается команда.

    И еще моменты
    1) директория рабочая
    2) переменная path
    могут отличаться (даже если пользователь тот же самый)

    А Error Code 127: вероятнее всего значит "command not found"

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    Вопрос не может быть решен в формулировке как у Яндекса пока ваши финансовые и интеллектуальные ресурсы не будут такими же .

    Две фотки можно считать одинаковыми если они совпадают до байта. Логично, что сравнивать со всеми не хватит ресурсов. Поэтому сравнивают цифровые следы. Простейший мд5.

    Вы можете усиливать алгоритм, но все равно его можно будет обойти.
    Ответ написан
    Комментировать
  • Почему возникает ошибка Maximum execution time exceeded?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Нужно катать сферические шары в вакуме. Их 1000 штук. Работник каждые 30 секунд уходит покурить.
    Один шар он перекатывает за время от 1 до 3х секунд (то есть нет равномерности).

    Запрещаем ему курить пока не перекатит все. А он сволочь такая лажает постоянно.
    Решение
    Вместо цикла
    для всех шаров с 1 по 1000 делай катать
    пишем
    Напиши на доске номер шара - 1
    Цикл
    прочитай номер шара
    засеки время
    откати шар
    он 1000 - й , то ты свободен
    посмотри время
    если прошло больше 25 секунд, то запиши номер следующего шара и иди курить
    Ответ написан
    6 комментариев
  • Ошибка HTTP Response code: 500?

    @402d
    начинал с бейсика на УКНЦ в 1988
    https://www.php.net/manual/ru/function.error-repor...
    error_reporting(E_ALL);
     ini_set("display_errors", 1);

    в начало вашего скрипта
    https://linuxize.com/post/curl-post-request/
    потом дернуть с комндной строки курлом

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    У тебя должна быть таблица выставленных счетов.
    Различные экваринги/мерчанты различаются между собой не принципиально.
    Есть те, где сперва нужно инициализировать оплату (создать счет через апи), а потом отправить пользователя по ссылке его оплачивать. В этом случае ид_оплаты присваивает платежная система.
    А есть, где сам передаешь все нужные данные через метод пост на сайт платежной системы. В этом случае практически у всех известных мне платежных систем, есть поле в котором можно передать свой идентификатор.

    У всех систем есть метод проверить статус оплаты по идентификатору. Именно его
    нужно дополнительно проверить при возврате пользователя по урлу успеха.
    Не стоит верить параметрам из гет.

    Авизо (подтверждение успешной оплаты может прилетать ассинзронно на ваш хук). В этом случае после проверки достоверности ставишь флаг оплачено в своей таблице заказов
    Ответ написан
    Комментировать
  • Проблемы с mail в php. Что я делаю не так?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Функция mail() на шаред хостингах обычно запрещена.
    Чтобы при проникновении трояна на ваш сайт не рассылали спам.
    Дальше идут варианты. Можно самому ее разрешить и настроить или нет.
    А потом головная боль, чтобы письмо хотя бы в папку спам попадало.
    Ответ написан
    Комментировать
  • Как записать синтаксис php в строку?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Eval is evil
    Настоятельно рекомендую найти другое решение для исходной задачи.
    попытки закрыть возникающую уязвимость чаще оказываются более трудоемкими чем написать сразу безопасным способом.
    Ответ написан
  • Где/Как узнать возможные для получения данные о посетителе сайте через PHP?

    @402d
    начинал с бейсика на УКНЦ в 1988
    $_SERVER[‘REMOTE_ADDR’]. - может быть 127.0.0.1 если перед апачем стоит nginx и его конфиги не правились.
    $_SERVER[‘HTTP_USER_AGENT’]

    $_cookie, $_session - по хорошему нужно получить согласие, что дальнейшую навигацию сайт будет отслеживать.

    про реффер кроссайтовый можно забыть 100 процентов (современные броузеры его режут)
    Ответ написан
    Комментировать
  • Как создать скрытый input для передачи технической информации на другую страницу?

    @402d
    начинал с бейсика на УКНЦ в 1988
    ничему из того, что приходит со стороны клиента верить нельзя.
    Куки, http заголовки и все-все можно отправить на сервер со стороны клиента.
    Из простейшего что вам подойдет - session.
    Ответ написан
    Комментировать
  • В чем может быть проблема с cURL?

    @402d
    начинал с бейсика на УКНЦ в 1988
    & на мысли не наталкивает ? Что такое html entity знаете ?
    В общем или в базу муссора насовали или позже обработали строку.
    Есть два подхода (крайности), к тому как заносить данные в базу данных.
    1) Все проверяем по куче условий, при любой ошибке отказываемся.
    2) Пофиг - записываем все как есть, потом будем опасное экранировать.
    Ответ написан
    9 комментариев
  • Как сделать на PHP редирект на другой сервер с сохранением домена?

    @402d
    начинал с бейсика на УКНЦ в 1988
    никак !!! PHP здесь не нужен.
    https://habr.com/ru/companies/cloud_mts/articles/7...
    например как это делается через DNS и потом глубже погружаетесь в тему

    https://habr.com/ru/companies/first/articles/683870/
    или через nginx раскидывать на несколько бакендов
    Ответ написан
    Комментировать
  • Как сделать ссылки на запуск установленных приложениий в телефоне/планшете?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Есть такая вещь как intent scheme
    intent:#Intent;package=имя_пакета_приложения
    но дальше нужно передать что-либо подходящее (то что прописано у приложения как допустимые данные)
    Официально поддерживаемое приложением
    точно работают кастомные урл схемы, ну а остальное сами разберетесь.
    Просто запустить я не пробывал.
    вот посмотрите примеры интеграции из броузера с приложением
    https://rawbt.ru/start.html
    p.s. это только для андроида
    Ответ написан
    Комментировать
  • Как получить запись по ID через lastInsertId сразу после вставки?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Тупой вопрос. А в таблице есть первичный ключ (primary,autoincrement) ?
    Обычно поле называют id и тип у него длинное целое
    Ответ написан
  • Не получается составить запрос к API на PHP, может кто поможет идеями?

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

    @402d
    начинал с бейсика на УКНЦ в 1988
    qz.io и прочее, например в гугле запрос "print labels cloud"
    В общем это тема, на которой многие пытаются заработать.
    Ну и с обработкой PDF таже ситуация.

    Принтеры этикеток не умеют печатать PDF. Драйвера делают из каждой страницы картинку и посылают нужные команды ZPL, TSPL и прочих протоколов.

    Если выкинуть из цепочки формат PDF, и сразу засылать в сетевой порт 9100 нужные команды принтера, то можно обойтись поднятием VPN
    Ответ написан
    Комментировать
  • Как реализовать генератор title заголовков на PHP?

    @402d
    начинал с бейсика на УКНЦ в 1988
    пора расти дальше. Php вставки в HTML как я вижу освоили.
    Теперь переходите к Роутер, модель, контролер, представление (вью).
    Изучити какой нибудь фреймворк
    Ответ написан
    Комментировать
  • Есть ли необходимость или очевидные плюсы перехода на linux?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Если новичок, то для тебя пока единственое отличие в файловой системе.
    Регистр букв в имени файла важен.
    а будет ли это wamp или lamp (Apache+MySQL+PHP) пока возишься с CRUD и формошлепством фиолетово. Еще не факт, что тебе потребуются многопоточность и платформозависимые вещи.
    Потом нет нужды ставить линукс основной операционкой.
    Виртуалки и главное есть же докер.
    Ответ написан
    Комментировать
  • Как можно установить PhpMyAdmin на MacOs?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Я накатывал по статье Kristian Lumme How To Set Up Apache and PHP from Homebrew on macOS
    потом аналогично brew пакеты mysql , phpmyadmin
    Ответ написан
    Комментировать
  • Почему странно работает буферизация в PHP?

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

    Почему же так часто мы видим в начале файла (единой точки входа) эту функцию первой ?
    1) А чтобы не падали скрипты из-за огрехов программистов: могут попать символы BOM (некоторые редакторы так помечают UTF файлы), затесался перенос строки после закрывающего знака вопроса больше
    2) В других случаях это костыли - нужно обработать дополнительно текст, который внешняя либа отправляет в stdout и не умеет возвращать через return.

    Поэтому такое извращение и практикуется для авварийных остановов
    if (ob_get_level()>0) ob_flush();
    Хотя правильнее через while , так как уровней вложенности может быть более одного.

    Но главное не надо так писать реальные скрипты! Вы деградируете производительность
    апача. Если установлен по дефолту, то 51 клиент увидит мертвый сервер.
    Ответ написан
    Комментировать