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

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

    Я бы на твоем месте посмотрел на функцию GregorianToJD()
    Захардкодил бы в скрипте возвращаемое ей значение в день начала показов
    А потом из разницы с текущим значением вычислял смещение.
    Оператор % тебе в этом мог бы пригодиться.
    Ну и array_slice добавить, для красоты
    Ответ написан
  • Как правильно проверять переменную в php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Аналогом
    if ($var)
    для случая, когда переменная может быть не инициализирована, является
    if (!empty($var))

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

    Update.
    Мда. Полез поискать тебе ответ для случая, когда 0 считается не пустым значением.

    Если бы тогда пассажир по фамилии KorsaR-ZN написал тебе не феерически бредовую отсебятину,
    empty - проверят именно на пустоту переменной, т.е возвращает true если переменная является пустой и false в противоположном случаи.

    а объяснил, что
    !empty($var)
    всего-навсего является короткой записью
    if (isset($var) && $var))
    то сейчас у тебя вопроса не возникло бы.

    Это к вопросу о том, почему давать плохие ответы плохо (для автора) но хорошо (для посещаемости). И объясняет, почему администрация специально разводит на сайте лохов.
    Ответ написан
  • Как вернуть код ошибки из метода?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если исключение ловить, то оно не относится к фатальным ошибкам.
    Ответ написан
    1 комментарий
  • Можно ли использовать глобальные переменные?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. Про статью.
    Аффтар кликушествует и тупит.
    Единственная претензия, которую он родил, сводится к тому, что глобальную переменную можно переписать. Офигеть недостаток. А используя while, можно уйти в бесконечный цикл. Следуя его логике, while нельзя использовать, он разрушает структуру программы. И ещё моск.

    2. О глобальных переменных.
    Существует [по крайней мере] два способа использовать глобальные переменные.
    1. Для доступа к глобальным сервисам.
    2. Для передачи данных в функцию и получения результата из неё.

    Так вот, второй способ является гарантированным пропуском в АДЪ. Это реальный способ довести до самоубийства человека, котрый будет потом разбирать твою программу.
    В то же время, в первом варианте нет ничего зазорного. Все исползуют его, но из религиозных соображений задрапировав в статическую функцию, класс, или контейнер, но суть у всех будет ровно одна - получить доступ к глобальному сервису.

    3. О твоем коде.
    1. Учитывая п.2 из предыдущего раздела, становится понятно, что твой второй вариант нежелателен. При этом.
    2. Я не понял фразу про "тасакать". Куда и что ты собираешься таскать? Код коннекта должен лежать вызываться РОВНО ОДИН РАЗ, лежать, где-нибудь глубоко в бутстрапе, и не вызывать ни малейших ассоциаций со словом "таскать".

    И - да. Сто процентов отвечателей будут тебе писать не про твои переменные с хостом и паролем, а про саму $pdo. Потому что вопрос про неё является более логичным и куда боле актуальным: ведь переменные для коннекта требуются тебе 1 раз, а само соединение - десятки раз в разных местах скрипта.
    Ответ написан
    4 комментария
  • Сокрытие расширения PHP файлов?

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

    Не говоря уже о том, что уже много-много лет стандартом де-факто является адресация через ЧПУ, при которой никаких .php файлов в любом случаеснаружи не видно.
    Ответ написан
    4 комментария
  • Как грамотно наладить работу асинхронных запросов?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    я имел дело с асинхронными запросами к БД.
    Но я на 100% уверен, что ты просто употербляешь красивое слово, не понимая его смысла.
    Давай ты объяснишь, что имеешь в виду под "асинхронными" запросами и почему их количество тебя пугает.
    Ответ написан
    8 комментариев
  • [РЕШЕНО]Как обойти ограничение символов в html?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Какие ограничения?
    Читай свой вопрос перед тем как его постить, и думай, понятно ли будет хоть что нибудь посторонним людям.
    Ответ написан
    7 комментариев
  • Как узнать настройки php для отладки?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ваиант исправить ошибку не рассматривал?
    Ответ написан
    1 комментарий
  • Создать массив PHP из таблицы?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Есть таблица

    Где есть?
    Ответ написан
  • Можете объяснить этот MySQL запрос?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Этот запрос строит одну большую строчку из трех таблиц.
    Сначала берет строчку из reviews_clicks, и дописывает к ней строчку из members по условию
    members.`id` = reviews.`member_id`
    дальше точно так же дописывается строчка из reviews_likes
    и так для каждой строчки в reviews_clicks, подходящей под условие в WHERE

    А еще из этого запроса берется SQL инъекция.
    Ответ написан
    1 комментарий
  • При обработке .php и .js файлов браузер выводит исходный код. Как решить?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    С настройками веб-сервера.
    Он должен посылать корректный content-type для отдаваемых файлов.
    Ответ написан
    Комментировать
  • Как сделать одну кнопку "Удалить" для разных значений таблицы с помощью PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    <form method="POST" action="edit.php?id=1">
        <input type="submit" name="edit" value="Редактировать">
    </form>
    Ответ написан
    Комментировать
  • В каком репозитории centos лежит php-mbstring?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    yum -v search mbstring
    ====================
    php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
    Repo        : @remi-php56

    Похоже, что в дефолтных его нету.
    Ответ написан
    3 комментария
  • Как подключить php скрипт?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ты должен задавать не вопрос "как подключить?" потому что ты уже знаешь ответ. А должен спрашивать "Как узнать, почему скрипт не работает?"
    Отвечаю на него:
    Во-первых, пишешь в самом начале скрипта
    ini_set('display_errors',1);
    error_reporting(E_ALL);

    Во-вторых, вместо "не работает" стараешься как можно подробнее описать, что ты видишь
    Ответ написан
  • Правильный способ хранения текста и HTML-кода в базе MySQL?

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

    Решение конкретно твоей проблемы:
    mysql_set_charset('utf8'); после коннекта
    +
    плюс таблицы должны иметь кодировку utf8
    Подробнее: phpfaq.ru/charset

    Разбор вопроса:
    везде совет для записи в базу использовать mysql_real_escape_string(),

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

    Как я понимаю необходимо обрабатывать текст вот так перед вставкой:

    Неправильно понимаешь.
    Перед вставкой текст обрабатывать не надо вообще никак.
    Для корректной работы SQL, как я уже писал выше, должны использоваться подготовленные выражения.
    HTML же к SQL не имеет ни малейшего отношения. и никакая HTML функция, разумеется, при сохранении в БД использоваться не должна.

    К примеру "⇔" при записи в базу превращается в "?"

    Вот с этого и надо было начинать. У тебя проблема с кодировками.
    Ответ написан
    2 комментария
  • Не открывается сайт на локальном сервере?

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

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

    Оба твоих вопроса, "почему белый экран" и "почему не работает, ведь на хосте работало" не имеют смысла и нерелевантны проблеме. "Не работать" может по миллиону причин.

    Поэтому единственный вопрос, который в таких случаях можно задавать - это "как узнать почему мой сайт не работает". причем этот вопрос не имеет ни малейшего отношения к любым не имеющим значения деталям - после переноса этот сайт, или на хосте, LAMP или WAMP. Если сайт не работает - его поднимают. Не рассусоливая про "ой, а вчера работало жи!".

    В первую очередьь проверь работает ли твой ламп
    Потом проверяй логи ошибок.
    Или включи вывод ошибок на экран.
    попытайся остановить выполнение сайта еще в бутстрапе, с тестовым сообщением. Чтобы понять, доходит ли до опенкарта вообще исполнение, или нет. Всегда смотри не картинку в браузере, а исходный хтмл.

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Я считаю, что здесь чисто психологический момент.
    Если это городские объявления, то название сайта должно быть как можно проще, конвенциональнее. Каких-нибудь старушек всякие .museum и прочие .am будут пугать, оставлять ощущение, что часть адреса не пропечаталась. Так же как Виктор Савченко они настроены всегда на одну волну (имя сайта должно начинаться на даблъюдаблъюдаблъю, а кончаться на .ru!) и всякие изыски будут только вводить их в ступор.

    С другой стороны, старушки будут писать адрес сайта в поисковой строке Рамблера, а он уж разберется, какой домен правильный.

    Но в общем, я бы не выпендривался. К тому же fancy aliases появились у соответствующих сайтов уже после раскрутки, а не до запуска.

    С чисто технической же точки зрения, tarar.am полностью эквивалентен tararam.ru
    Ответ написан
    Комментировать
  • Как убрать ошибку запроса?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это чень просто.
    1. Нужно навсегда забыть про добавление переменных прямо в строку запроса. А а добавлять их только через плейсхолдеры.
    2. При возникновении ошибки смотреть тот запрос, в котором произошла ошибка.. У тебя здесь написан другой.
    Плюс выводить запрос на экран. SQL запрос, а РНР код, который его собирает.
    Ответ написан
    Комментировать