Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Всем привет!

Скажите пожалуйста как исправить ошибку блокирующую вход в админку.

Пишет Warning: Cannot modify header information - headers already sent by (output started at /home/d/dsilen37/telefonkupit.ru/public_html/system/library/response.php:1) in /home/d/d/t.ru/public_html/system/library/response.php on line 12

 

В файле подчеркивает 0 и значение 302 красным. 

В чем проблема не пойму.

Как исправить?

Вот файл

 

<?php
class Response {
    private $headers = array();
    private $level = 0;
    private $output;

    public function addHeader($header) {
        $this->headers[] = $header;
    }

    public function redirect($url, $status = 302) {
        header('Location:' . str_replace(array('&amp;', "\n", "\r"), array('&', '', ''), $url), true, $status);
        exit();
    }

    public function setCompression($level) {
        $this->level = $level;
    }

    public function getOutput() {
        return $this->output;
    }
    
    public function setOutput($output) {
        $this->output = $output;
    }

    private function compress($data, $level = 0) {
        if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false)) {
            $encoding = 'gzip';
        }

        if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false)) {
            $encoding = 'x-gzip';
        }

        if (!isset($encoding) || ($level < -1 || $level > 9)) {
            return $data;
        }

        if (!extension_loaded('zlib') || ini_get('zlib.output_compression')) {
            return $data;
        }

        if (headers_sent()) {
            return $data;
        }

        if (connection_status()) {
            return $data;
        }

        $this->addHeader('Content-Encoding: ' . $encoding);

        return gzencode($data, (int)$level);
    }

    public function output() {
        if ($this->output) {
            $output = $this->level ? $this->compress($this->output, $this->level) : $this->output;
            if (!headers_sent()) {
                foreach ($this->headers as $header) {
                    header($header, true);
                }
            }
            echo $output;
        }
    }
}
 

Надіслати
Поділитися на інших сайтах


42 минуты назад, freelancer сказал:

warning не блокирующая ошибка

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

  • +1 1
Надіслати
Поділитися на інших сайтах

15 минут назад, chukcha сказал:

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

Заменил файл исходным и в админку вхожу. А вот когда входишь как пользователь на сайт то выскакивает опять ошибка

Warning: Cannot modify header information - headers already sent by (output started at /home/d/dsilen37/telefonkupit.ru/public_html/catalog/language/ru-ru/account/login.php:1) in /home/d/dsil/telefonkuru/public_html/system/library/response.php on line 12

 

Хотя после перезагрузке страница открывается с прошедшей авторизацией. Мне то не критично но вот пользователи могут пугаться...Как исправить? Где это?

Змінено користувачем dimzone
Надіслати
Поділитися на інших сайтах


2 минуты назад, dimzone сказал:

Хотя после перезагрузке страница открывается с прошедшей авторизацией. Мне то не критично но вот пользователи могут пугаться...Как исправить? Где это?

все страницы так поочередно заменяйте

Надіслати
Поділитися на інших сайтах

24 минуты назад, dimzone сказал:

Там не подсказали. 

Так просто апните тему (напишите - "вопрос не решен")
И она будет как "свежая", не прочитанная
Зачем плодить  одинаковые темы
Давайте еще 100500 одинаковых тем "заведем"

Надіслати
Поділитися на інших сайтах

20 часов назад, markimax сказал:

Так просто апните тему (напишите - "вопрос не решен")
И она будет как "свежая", не прочитанная
Зачем плодить  одинаковые темы
Давайте еще 100500 одинаковых тем "заведем"

Хорошо. Я не знал что так можно сделать. )))) сто тыщ одинаковых тем заводить не будем.

Надіслати
Поділитися на інших сайтах


Спасибо всем! Это действительно проблема файлов с кодировкой utf-8 которые надо было переписать в кодировке utf-8 без BOM

Нашел все такие файлы с помощью find_bom и исправил Notepad++

 

 

Змінено користувачем dimzone
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.