HTML_FormPersister и PHP 5.4 | Все что вы хотели знать о хостинге и сайтостроении

HTML_FormPersister и PHP 5.4


Рубрика: PHP

Есть старая добрая библиотека от ребят из dklab которая заполняет форму данными из _POST. Называется эта библиотека «HTML_FormPersister«. Эта библиотека справляется со своими функциями вплоть до версии PHP 5.3, а на версии PHP 5.4 начинаются проблемы и выдает вот такую ошибку:

Warning: ob_start(): non-static method HTML_FormPersister::ob_formPersisterHandler() should not be called statically

Вылечить эту проблему можно очень просто, заменить всего лиш одну строку в файле библиотеки SemiParser.php в строке 231, меняем это:

    function quoteHandler($value)
    {
        return call_user_func($this->sp_quoteHandler, $value);
    }

на это:

    function quoteHandler($value)
    {
        return htmlspecialchars($value, NULL, '');
    }

Все, проблема с выводом пустых форм решена.

Дело в том, что функция htmlspecialchars стала чувствительна к кодировке и по этому нужно указывать 3-й параметр для этой функции.

Если вам понравилась статья или была полезна, поделитесь ею с друзьями: