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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Главная проблема с тем видео которое ты смотришь на Ютубе - оно втирает тебе что писать на пхп можно не зная программирования и SQL. Разумеется, это враньё, только чтобы впарить тебе видео

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

    Чтобы потом таких вопросов но возникало, в таблицу сам мог сделать нормально, такую:

    update_id - int(11) UNSIGNED
    text - varchar(500) character set utf8mb4_unicode_ci
    create_date - datetime
    Ответ написан
    Комментировать
  • Узнать сколько времени осталось unix?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Наверняка есть
    Ответ написан
    Комментировать
  • Почему этот код не работает с Mariabd?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    потому что в "Mariabd" у тебя нет данных по этому запросу.
    Ответ написан
  • Почему число не включается в выборку?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    <?php foreach (range (0.4, 1.4, 0.1) as $i) { ?>
        <option><?= $i ?></option>
    <?php } ?>
    Ответ написан
    Комментировать
  • Ошибка syntax 'foreach'?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    функция целиком - ад. я бы выкинул всё это оопэ из картона, все эти статики, публики, селфи - и шарашил обычным спагетти. Не будет вызывать настолько сильный когнитивный диссонанс.

    Но если уж пытаться спасти этот ужас,
    public static function act_page($data, $key) {
          if ($key && isset($data[$key])) {
              self::$path .= '/act/'.$key;
              self::display_page($data[$key]['title']);
          } else {
              self::display_error(404);
        }
    }
    Ответ написан
    1 комментарий
  • Зачем интерфейсы если есть трэйты?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос действительно философский.
    Интерфейс - это публичный контракт. Соглашение. "Данный класс обязается делать это и это, и если соглашение подписано, то всегда можно ожидать выполнение классом таких обязанностей". А как он это делает - это его личные половые трудности. То есть интерфейс - это такое министерство иностранных дел класса, отдел внешних сношений. Фасад, вывеска.

    Абстрактный класс и трейт - это министерство внутренних дел.
    Абстрактный класс - это внутренний контракт. Чертеж, прототип, по которому строится класс. Включает внутреннюю кухню, которую посторонним знать не обязательно.
    Трейт - просто повторное использование кода. Возможность нескольким классам использовать один и тот же код.
    Ответ написан
    2 комментария
  • Как понять входит дата в интервал или нет?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если дата в нормальном формате, то так же, как и любые другие значения.
    Можешь сначала потренироваться на кошках.
    3 входит в интервал от 2 до 5? а 7?
    после того как напишешь код для этих проверок, то для дат будет то же самое.
    Ответ написан
    Комментировать
  • Как сохранить date, php в mysql?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    сохранить текущу дату в mysql проще простого.
    например использовать встроенную функцию now()

    что гораздо важнее - никогда нельзя писать переменные РНР прямо в запрос
    а всегда передавать их отдельно

    $query = "INSERT INTO `test` (`name_exp`, `data_exp`) VALUES ( ?, now())";
    $stmt = $db->prepare($query);
    $stmt=>bind_param("s", $name_exp);
    $stmt->execute();
    Ответ написан
    Комментировать
  • Как вернуть результаты совпадающие в join и убрать все что не совпадают в on?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Есть два основных типа джойнов - inner и outer
    inner, который обычно сокращается до просто join, находит только те записи, которые присутствуют в обеих таблицах.
    outer, который обычно сокращается до left join, возвращает все записи из левой таблицы, а из правой - только те, которым есть соответствия
    Ответ написан
    Комментировать
  • Как правильно создать БД под фильтр?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ну вот разные типы товаров - это классика.
    Таблицу можно сделать одну, уникальные для каждого товара характеристики хранить можно в поле джейсон, а искать специальными движкаии типа сфинкса или эластика
    Ответ написан
  • Как сделать одноразовые ссылки для каждого пользователя?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    ты уже все сам и написал
    сделать бд, в которой хранить каждого уникального пользователя и пометку, что он уже был на сайте
    идентифицировать по куке

    я только не понял какое отношение к вопросу имеет его заголовок. "Как сделать одноразовые ссылки" vs. "генерить одноразовые не прокатит". Вы уж сначала договоритесь между собой, сколько вас там в одной голове живёт, а потом задавайте вопрос на тостере.
    Ответ написан
    3 комментария
  • Как удалить пользователя по условию?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Есть два упыря на ютубе.
    На английском это некий Дани Кроссинг, а на русском - какое-то хаудихо.
    И вот они вдвоем гадят РНР сообществу так, как не смог нагадить ни один ненавистинк РНР.
    Обманом завлекая простодушных зрителей, они учат их какой-то смеси шаманства и детской игры в кубики.
    Уроки уровня "Возьмешь красные кубики - будет красный домик. Возьмешь синие - будет синий".
    Но, главное, они внушают своим жертвам мысль, что использовать РНР можно вообще не зная программирования. Или, в случае с этй хаудихой - еще и без знания SQL.

    То есть они не учат самому главному - читать и понимать свой код. Они внушают своим жертвам, что написание программы - процесс односторонний. Сложил кубики в нужной последовательности, и забыл.
    А то что программу надо уметь читать, что перед тем как складывать кубики надо подумать - в каком порядке, они даже и не упоминают. Потому что сами не знают.

    Вот здесь например.
    В сессии у тебя чей айди? Правильно. И какой тогда смысл его проверять?

    Если тебе нужно проверять роль удаляемого пользователя, то её и надо сранивать.

    послушай доброго совета, забудь про ютубу и про этот редбин.
    Купи нормальную книжку, Котерова, и учи язык нормально. А не эти фантики.
    Ответ написан
    1 комментарий
  • Как исправить ошибку Php при попытке вывода массива?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Для того чтобы что-то сделать, надо себе представлять, что ты хочешь сделать.
    Это правило универсальное, без него даже борщ не сваришь, но в программировании оно важно вдвойне.

    Нужно. Очень.Четко. Представлять. Себе. Результат. Выполнения. Своего. Кода.

    Поэтому перед тем как писать любой код, надо сначала понять, какой результат мы хотим от него получить.
    Результатом работы РНР кода обычно является HTML.
    Вот и надо написать этот самый HTML. Без всякого РНР, просто чистый HTML.
    Если непонятно, какой мы хотим HTML, то отойти ещё на один шаг назад, понять, какой визуальный элемент на сайте мы хотим сделать, и научиться рисовать его с помощью HTML.
    После этого нарисовать желаемый HTML, посмотреть на него и решить, как его вывести в РНР на основании исходных данных.
    Ответ написан
    Комментировать
  • Не корректная работа json_decode?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    а почему должно выдавать ошибку? и какую?
    Ответ написан
    5 комментариев
  • Как делать фильтрацию PHP / RestAPI / RedBeanPHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Извиниться перед заказчиком, вернуть аванс, купить учебник или оплатить достойные курсы, освоить основы программирования, основы веб-программирования, основы SQL, основый безопасности веб-приложений, основы алгоритмов, основый работы с БД из РНР, и только после этого постепенно приступать к данной задаче.

    Сейчас этот треш нельзя выкладывать в продакшен ни под каким видом.
    Ответ написан
    Комментировать
  • Как корректно работать с датами в MySQL?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Или единственный вариант перед сохранением в бд прогонять на стороне php дату в формат, воспринимаемый mysql'ем?

    Не единственный но единственный осмысленный.
    Тем более что там делов на одну строчку. смотрим strtotome() и date_create_from_format()
    Ответ написан
  • Как исправить ошибку после перехода на php 8?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вордпрессу еще года два на восмерку путь заказан. Как минимум.

    Но вообще специально для таких вот печальных случаев именно в 8-ке придумали
    <?php $cf = get_post_meta($post?->ID, 'n', true);

    Но тогда этот код перестанет работать на всех предыдущих версиях.
    Ответ написан
    3 комментария
  • Как правильно сделать валидаци формы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В принципе рациональное зерно в твоих рассуждениях есть.

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Господи, ну нельзя же настолько буквально воспринимать вопросы.
    Ну неужели из контекста непонятно, что автор спрашивает про кодировку, а не про набор правил сравнения?

    Автор, кодировка, которая тебе нужна, называется utf8mb4. Вот её и ставь.
    А набор правил сравнения подставится автоматически, и в целом без разницы, какой - utf8mb4_general_ci или utf8mb4_unicode_ci
    Ответ написан
    Комментировать