Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> header, header
hivuld  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 42417
На форуме: 10 месяцев, 11 дней
Карма:




Друзья, помогите! Не могу понять где ошибка?
Вот код:
Файл function.php:

<?php
function
MessageShow() {
if($_SESSION["message"]) echo $_SESSION["message"];
unset($_SESSION["message"]);
}
function MessageSend($type, $text, $redirect = false) {
if($type == 1) $type = "Ошибка";
if($type == 2) $type = "Подсказка";
if($type == 3) $type = "Информация";

$_SESSION["message"] = "<div class = \"MessageBlock\"><b>$type</b<br/>$text</div>";
if($redirect) exit(header("Location: $redirect"));
else exit(header("Location: ".$_SERVER["HTTP_REFERER"]));
}
?>

При попытке вызвать функцию MessageSend появляется ошибка.
А это ошибка:
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\site.ru\engine\function.php:1) in C:\OpenServer\domains\site.ru\engine\function.php on line 12

Это сообщение отредактировал hivuld - 24.02.2016 - 08:26
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


кто вас тока учит такому?

exit(header("Location: $redirect"));


вот так же читабельней

header("Location: $redirect");
exit();


не это не по делу, по делу вот:

причиной такой ошибки является вывод чего либо перед посылом заголовка, например использование HTML тегов, или использование echo(), print()

но последнее время это больше оказывается utf with bom - т.е. файл необходимо пересохранить с кодировкой utf без bom - это гуглиться на раз 2.


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

<?php

echo $form;

if(!$param){
MessageSend('html', 'Тикаем хлопцы отседова!', true) ;
}


тут echo тебе всё испортило.

тут 2 варианта:

1. редирект на JS
2. ob_start() - тобишь - буферизация вывода

а вообще - на этом форуме этот вопрос поднимался оч. много раз - пользуем поиск


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
andrey888  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 793
Пользователь №: 27801
На форуме: 5 лет, 6 месяцев, 24 дня
Карма: 14




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


--------------------
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 20 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


andrey888
этож не JS ))
тут код выполняется последовательно - сверху - вниз

и повезёт если работает с $_REQUEST - т.е. с данными, которые ожидаются

вообще есть простое, но золотое правило:

PHP вначале кода
HTML после PHP


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса