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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По уму надо хранить интервал, дата начала "замера" и дата окончания.
    Но у тебя я так понимаю прибит гвоздями часовой интервал. В этом случае тебе нужно одно поле datetime.
    Ответ написан
    Комментировать
  • Как загрузить yaml в php-fpm, что-бы не приходилось читать при каждом запросе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Поддержу предыдущего оратора.
    Прямо сейчас в этот момент Симфони наоборот избавляется от ямл конфигов в пользу конфигов на РНР.
    Томаш Вотруба написал целых 10 причин, почему это стоит сделать, https://tomasvotruba.com/blog/2020/07/16/10-cool-f...
    Ответ написан
    Комментировать
  • Как переводить сайт на разные языки?

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

    Надо определиться с целями перевода и поступать соответственно.
    Ответ написан
    Комментировать
  • Как узнать когда пользователь покинул мой сайт на php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. на РНР - точно нельзя.
    2. Если страница открыта, то это совсем не значит, что пользователь её читает. Он может быть в другой программе или вообще на кухне
    3. Идея заведомо дурацкая и не стоит ни одной минуты времени, затраченной на неё.
    Ответ написан
    Комментировать
  • Как узнать версию кода php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В РНР нет такого понятия как "версия РНР кода".
    РНР как раз знаменит своей обратной совместимостью, и можно найти много примеров кода, который был написан для 4 версии, и прекрасно будет работать на 8.

    На новых версиях могут перестать работать отдельные участки кода, но в этом случае о них и надо говорить. А про весь код целиком никогда нельзя сказать, для какой он версии.

    В данном случае надо запускать на самой последней версии РНР и следить за ошибками.
    Ответ написан
    Комментировать
  • Как работает веб-сервер и php?

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

    Веб-сервер, разумеется, нужен только один.
    Класическая схема в 2020 году - один веб-сервер и РНР подключённый через FastCGI РНР.
    Это может быть как Nginx+PHP-FPM
    Так и Apache MPM Event+PHP-FPM. Если ставить апач в современных дистрибутивах, то этот вариант устанавливается по умолчанию.

    В итоге всё сводится к старому как экскремент мамонта протоколу CGI: веб-сервер перенаправляет запрос программе-обработчику (в данном случае РНР), программа-обработчик возвращает НТТР заголовки и (опционально) тело ответа, веб-сервер отдает их клиенту.

    В самом простом варианте отдельный веб-сервер не требуется, см встроенный сервер в РНР.
    Ответ написан
  • Как выгоднее собирать свой форум?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Первый вопрос который надо решить до стадии написания кода, это какой будет вид у форума - древовидный или линейный.
    Пока выглядит так что ты описываешь древовидный. Но надо понимать что они в природе уже почти не встречаются. Из известных разве что Реддит.
    И в любом случае то как ты собираешься загружать - это очень неэффективно. В одном треде (посте) могут быть тысячи ответов и так как ты собираешься загружать (и за ними их комментарии итд.), будет очень неэффективно.

    В общем, рекомендую сделать линейный, когда есть пост и к нему комментарии.
    Чтобы было понятно, на какую реплику пишется ответ, можно сделать цитирование.

    Ну и последнее.
    Если ты хочешь научиться программировать, то конечно пиши.
    Но если твоя цель - получить форум на сайте, то разумеется надо взять готовый.
    Ответ написан
    7 комментариев
  • Почему не работает код php?

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

    Код верификации не пишут в сессию.
    проверка if ($Code != "undefined") { бессмысленная
    Кот обычно пишется в ссылку, так что должен быть $_GET, а не $_POST
    Но конечно самый большой бриллиант в этой короне - это SQL запрос
    В нем одном ошибок больше чем во всем остальном коде раза в два
    Тут я пожалуй посоветую разобраться сначала, что ты вообще хотел сказать этим запросом, а потом приходить сюда, чтобы мы помогли тебе с синтаксисом
    Ответ написан
    Комментировать
  • Как скрыть расширение файла в строке браузера?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Этот код нигде не "форсят" потому что он бессмысленный.
    Как и сама задача "скрыть расширение файла".

    Если у тебя задача сделать "красивые" (они же "человеко-понятные") адреса, то так и надо писать и именно под эту задачу искать код.
    Ответ написан
  • Найти наиболее число в многомерном массиве?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ну чисто алгоритмически этот код работает неправильно, и не на любом наборе данных даёт верный результат.
    Ответ написан
  • RedBean PHP на хостинге?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Опасно.
    Люди, которые пользуются RedBean, учили программирование по часовому видео.
    И больше о программировании и веб-разработке в частности не знают вообще ничего.
    Результат немного предсказуем.
    Ответ написан
    1 комментарий
  • Как понять нашёл ли SQL запрос данные в базе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если включить логику, то понять очень просто.

    После выполнения запроса мы получаем данные, которые он вернул.
    И вот эти самые данные и проверить

    $result = $link->query("SELECT * FROM `Exiting Users` where email='Aruba'");
    $user = $result->fetch_assoc();
    echo $user ? "Нашол" : "Нинашол";
    Ответ написан
    Комментировать
  • Зачем нужны '' при объявлении переменной, которой присваивается значение функции?

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

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

    Оператор .= - это короткая запись для $html = $html . ""; |
    То есть здсь ты к существующему значению переменной приставляешь какое-то значение. Если до цикла переменная $html не определена, то при первом обороте будет предупреждение.

    Так же, как правильно написали в комментарии, если до цикла переменная $html не определена и массив пустой, то попытка вернуть переменную тоже вызовет предупреждение.
    Ответ написан
    Комментировать
  • В чем проблема MySQLi?

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

    Вместо всех этих шаманских плясок с пятью бубнами тебе нужно просто соединиться и просто выполнить свои запросы
    <?php
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect("localhost", "tsecret1_Sys", "FB,******0iu", "tsecret1_users");
    mysqli_set_charset($mysqli, $charset);
    
    $link->query("CREATE TABLE `tsecret1_users`.`uid ` ( `PassWord` TEXT NOT NULL ) ENGINE = MyISAM");
    $link->query("INSERT INTO `uid`(`PassWord`) VALUES (`pass2_hash`");


    ПЯТЬ строчек, из них две на выполнение запроса.
    Ответ написан
    Комментировать
  • Как лучше хранить массив id в таблице и делать по ним выборку?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Массив в базе данных называется таблица
    Ответ написан
    Комментировать
  • Почему 404 при переходе на другую страницу?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    потому что надо поднять глаза к адресной строке браузера, посмотреть на ссылку, и выяснить, что в ней не так.
    если там отсутствет буква old, то это означает что не все ссылки на сайте имеют вид old.sait.ru

    Вы только что прослушали базовый курс житейской логики для младших классов
    Ответ написан
    1 комментарий
  • Парсинг цифр - как замерить?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Судя по твоим словам ты выводишь данные из БД, а не из парсера
    Ответ написан
  • Как исправить ошибку Number of variables doesn't match number of parameters in prepared statement?

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

    Вот как правильно писать функуцию-хелпер для подготовленных запросов

    что у тебя неверно?
    1. цикл for - это же ужас. как у тебя пальцы не болят выписывать все эти точечки-запяточечки? неужели не проще написать foreach?
    2. bind_param может вызываться только 1 раз
    3. функция вообще-то должна что-то возвращать.

    Только ни в коем случае не присваивай $stmt переменной класса. Класс для работы с БД обязан быть stateless.
    Ответ написан