Задать вопрос
Профиль пользователя заблокирован сроком с 10 апреля 2022 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как проставить правильные ключи в массиве?

    @rasschitai
    выкинуть $c, т.е.

    $arItem[0]["SUBCATEGORY"][0]["PRODUCTS"][]=[
        "ID"=>$values["ID"],
        ...
    ];
    Ответ написан
    Комментировать
  • Как такой запрос в базу работает?

    megakor
    @megakor
    Go/PHP developer | ВКонтакте
    В вашем примере вы используете оператор `И`, а надо `ИЛИ`.

    $users = User::where('status', 1)->orWhere('subscribed', 0)->get();
    Ответ написан
    Комментировать
  • Почему версии php в phpinfo() и php -i расходятся?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Потому что в настройках веб-сервера указана другая версия php, поэтому он ее использует и результат показывает тоже относительно ее, а вызов бинарника php работает независимо от веб сервера. Для apache надо обновить модуль php, а для nginx надо в основных настройках подключить нужную версию php-fpm. Более развернутые ответы на эту тему (ссылка).
    Ответ написан
    Комментировать
  • Как защитить скрипт от перепродажи?

    Robur
    @Robur
    Знаю больше чем это необходимо
    коротко: никак

    длинно: это должен быть очень хороший и прибыльный "скрипт", чтобы усложнение кражи стоило потраченных на это усилий и в любом случае часть его функций надо убирать на свой сервер.
    Ответ написан
    Комментировать
  • Как заблокировать повторное выполнение PHP скрипта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ваши попытки напоминают операцию по удалению гланд через уретру, так как пациент отказался открыть рот. Вам абсолютно верно посоветовали СТАНДАРТНЫЕ методы работы с формой,
    1) Заблокировать кнопку субмита или задать всему блоку pointer-events: none; user-select: none;, что отключит интерактивность формы.
    2) После субмита, на стороне сервера делать редирект на какую-то страницу суксесс заказа, для предотвращения повторной отправки рефрешем.
    3) Можно извратиться на стороне сервера и проверять был ли добавлен от этого клиента заказ в течение последних ЭН минут, но обычно после первых двух вариантов это не нужно.
    Ответ написан
    Комментировать
  • Как перебирать такие массивы/объекты?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Это не массивы. Для работы со строками столбцами и данными нужно использовать специальные методы (гетеры и тд) которые предоставляет данная бибилотека.

    К сожалению Вам придётся всё-таки изучить документацию
    https://phpspreadsheet.readthedocs.io/en/latest/

    а так же можно ознакомится с примерами кода тут
    https://github.com/PHPOffice/PhpSpreadsheet/tree/m...

    Получить данные из ячейки или строки
    https://phpspreadsheet.readthedocs.io/en/latest/to...
    Ответ написан
    Комментировать
  • Не может раскодировать символ?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вангую, что вы пытаетесь работать со строками UTF-8 используя стандартные функции (strlen, substr и т.п.). Сие в корне неверно. Используйте библиотеку mbstring и функции с префиксом mb_.
    Ответ написан
    8 комментариев
  • Правильно ли писать много методов в Классах (actions)?

    Sanes
    @Sanes
    Номенклатура должна храниться в базе.
    Ответ написан
    Комментировать
  • Хочу сделать проверку на уникальность логина, но вы он постоянно выводит, что логин доступен. Почему?

    Immortal_pony
    @Immortal_pony Куратор тега PHP
    $connect = mysqli_connect("localhost", "root", "", "site");
    
    $sql = "SELECT * FROM `users` WHERE `login` = ?";
    $stmt = $connect ->prepare($sql);
    $stmt->bind_param("s", $_POST['username']);
    $stmt->execute();
    $stmt->store_result();
    
    if ($stmt->num_rows > 0) {
        echo 'This username is already taken';
    } else {
        echo 'This username is available';
    }
    Ответ написан
  • Как исполнить код взятый из базы?

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

    @andreysuha
    Что то знаю
    Подозреваю потому что в массиве не может быть двух одинокавых ключей.
    Для примера такой массив

    [
        'a' => 1,
        'a' => 2,
        'a' => 3,
    ]


    В это случае в массиве будет один елемет с ключём а равный 3, так как 2 предыдущих перезвпишутся

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Вызывайте функцию customRULVariableUserId() с нужными аргументами в секции проверки пароля.
    Ответ написан
    Комментировать
  • Как защитить код если предлагают помощь с разработкой?

    @Karpion
    Код программ д.б. открытым. (C) Ричард Столлман.
    Ответ написан
    1 комментарий
  • БД статьей на mysql как превратить заголовки статьей в ссылки html файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У меня как бы все полные статьи как отдельный html файл:
    Жееесть....
    Можно ли их адрес как нибудь седлать вместо id?
    можно, но зачем? Для темы сайта - самое то, по-хакерски законспирированные ссылки...
    Ответ написан
    Комментировать
  • Как правильно отфильтровать данные из $_POST?

    Ответ на ваш вопрос зависит от того, как именно и какие именно переменные в POST-запросе вы хотите фильтровать. Самый простой способ - напишите несколько условий if и удаляйте неподходящие значения, если они вас не устраивают по каким-то критериям. Или выбрасывайте исключения, если это уместно. В вашем вопросе не хватает подробностей, чтобы дать более конкретный ответ.
    Ответ написан
    Комментировать
  • Есть ли возможность освобождать память во время выполнения скрипта?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    unset - помечает переменные для удаления gc (кастует переменную к типу unset), gc_collect_cycles - проходит по всем типам unset и удаляет их принудительно (т.е. не во время работы штатного gc, а явно).
    Ответ написан
    1 комментарий
  • Как создать удобный и незаметный редирект со своего сайта на сайт магазина?

    @granty
    3. При заказе на моем сайте будет автоматически идти заказ в другом магазине
    Как сделать так, чтобы заказ редиректился автоматически, чтобы я мог получить свою комиссию, но при этом не связывался с обработкой заказов и их проверкой.
    Это делается не так, не надо ничего делать тайно. Кроме промокодов (которые вам не понравились), есть:

    - "реферальные ссылки" специальные ссылки или баннеры, при переходе по которым магазин знает, что этого клиента направили ему вы. И начисляет вам %.

    - "реферальные куки" и связанный с ним cookie stuffing. Посетителю садится специальная кука(от магазина - вашего партнёра) на неделю/месяц, и если он в течение времени жизни куки совершит покупку, вы получаете % с неё.


    2. Приводить туда людей через контекстную рекламу
    То, чем вы хотите заняться называется арбитраж трафика. Эта тема была вытоптана лет 6-8 тому назад.

    Почему вы думаете, что отобьёте затраты на рекламу?

    Подумайте, почему магазин сам не заказывает себе контекстную рекламу? Ведь он затратит на неё денег сколько и вы, но при этом оставит себе ваш %. И этот сэкономленный % снова пустит на контекстную рекламу, и заработает ещё больше. Зачем нужны вы в этой цепочке?

    От правильных ответов на эти вопросы зависит успех вашей затеи.
    факультатив

    Года три тому назад, один ушлый веб-программист придумал способ массово накручивать переходы на сайты в Яндекс.Метрике. Он насобирал кучу id Яндекс Метрики с тысяч сайтов и стал накручивать им фиктивные переходы со своих "пустых" доменов.
    Вебмастера долго не могли понять зачем он это делает.
    При этом, этот разбойник накручивал переходы по таким интригующим запросам, что вебмастера заходили на эти его домены посмотреть что за фигня происходит и почему к ним идёт такой шквал трафика.

    Внимание, вопрос: зачем же он это делал?

    PS: Если вы внимательно изучили написанное мной выше - вы знаете ответ.
    Ответ написан
    7 комментариев
  • Как сделать чтобы большая БД держала нагрузку?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Ооо.... Вы это сейчас вообще серьёзно?

    Если вы запускаете DBaaS платформу и не знаете что делать собственно с базами - то у вас не
    Запускаю свою облачную платформу, код и архитектура создана с нуля.

    У вас нет вообще абсолютно ещё ничего и уж архитектуры - в особенности. Кроме "идеи", над которой бьётся давно и много кто, при том имея ресурсы на собственные команды DBA.

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

    Значит этому юзеру достаточно ходить только на мастер.
    Для сферического в вакууме приложения нет средств автоматически распределять запросы по репликам. И такое сделать вовсе невозможно без накладывания ограничений на использование. Например,
    select somefunc();
    Что делает эта функция? Она только читает данные и потому можно отправить на реплику или она пишет и потому должна быть на мастере? Хотите правильный ответ от контрибьютора postgresql? Это достоверно не знает даже сама база до тех пор пока не выполнит функцию.

    Другой пример:
    begin isolation level repeatable read;
    select ...
    update ...
    commit;

    Как максимум на запросе select вы должны уже знать можете ли вы эту транзакцию отправить на читающую реплику. Откуда бы вам это узнать заранее?
    И прочие принципиально-нерешаемые вопросы.

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

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Для таких случаев придумали docblock (а начиная с php 8 - union типы):

    # PHP 7+

    declare(strict_types=1);
    
    /**
     * @param int|string|float $a
     * @param int|string|float $b
     * @return string
     */
    function summ($a, $b): string {
        return bcadd((string)$a, (string)$b);
    }


    # PHP 8+

    declare(strict_types=1);
    
    function summ(int|float|string $a, int|float|string $b): string {
        return bcadd((string)$a, (string)$b);
    }


    P.S. Помимо этого можно кастовать результат к инту, если он в пределах допустимого int32/int64 (зависит от ОС и сборки пыха) значения
    return $result > \PHP_INT_MAX ? $result : (int)$result;
    Ответ написан
    Комментировать