Проблема с заголовками

Статус
В этой теме нельзя размещать новые ответы.

Kofp

Новичок
Репутация
0 / 12
Ребята я понимаю данный вопрос уже много раз поднимался,я прочитал статью варлока,но что то никак не могу исправить ошибку,а чисто удалить файл не хочу,а хочу понять в чём именно ошибка! Так что подскажите где косяк!!!

Проблема с заголовками.выдаёт ошибку

Warning: Cannot modify header information - headers already sent by (output started at www\config\html_header.php:11) in www\person\header.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at www\config\html_header.php:11) in www\person\header.php on line 17

Ну это я подправил,если надо точно выложу ошибку!


html_header.php

Код:
<html>
<head>
<title>Game</title>

<link href="/img/game/css/main.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</head>

<BODY oncontextmenu="return false;">


header.php

Код:
<?
$ctime = time();

$s_p = 0; // Рейтинг

$root_path = './';
$pers_tpl = gettemplate ('main_pers');
$parse = array();


if ($_POST['mystat']){
    if (preg_match("/^[0-4]$/", $_POST['update_status'])){
        mysql_query("UPDATE `person` SET status='".intval($_POST['update_status'])."' WHERE `user` = '".$stat['user']."'");
        $stat['status'] = intval($_POST['update_status']);
        SetCookie("chat_showonline", intval($_POST['showonline']));
        $_COOKIE['chat_showonline'] = intval($_POST['showonline']);
        SetCookie("chat_showstat", intval($_POST['showstat']));
        $_COOKIE['chat_showstat'] = intval($_POST['showstat']);
    }
}

if ($_POST['mychat']){
    SetCookie("translit", $_POST['translit']);
    $_COOKIE['translit'] = $_POST['translit'];

    SetCookie("sysmsg", $_POST['sysmsg']);
    $_COOKIE['sysmsg'] = $_POST['sysmsg'];

    SetCookie("sysmsg1", $_POST['sysmsg1']);
    $_COOKIE['sysmsg1'] = $_POST['sysmsg1'];

}


if ($stat['last_battle']) mysql_query("UPDATE `person` SET `last_battle` = '0' WHERE `user` = '".$stat['user']."'");

if($stat['exp'] == 0) echo"<script>setTimeout(\"top.noob_text()\",30000);</script>";

echo"<script language=JavaScript src='img/js/login_form.js'></script>";
echo"<script language=JavaScript src='img/js/ch-online.js'></script>";
echo"<script language=JavaScript src='img/js/show_inf.js'></script>";
echo"<script language=JavaScript src='img/design_new/js/main.js'></script>";

echo"<div id=mainform style='position:absolute; left:11px; top:30px'></div>";

$up = mysql_fetch_array(mysql_query("SELECT `lev1`.`up`, `lev2`.`exp` FROM `levels` `lev1`, `levels` `lev2` WHERE `lev1`.`up` = '".$stat['up']."' AND `lev1`.`level` = '".$stat['level']."' AND `lev2`.`id` = `lev1`.`id` + 1"));

header.php это часть кода со строкой 15 и 17

Код:
        SetCookie("chat_showonline", intval($_POST['showonline']));
        
        SetCookie("chat_showstat", intval($_POST['showstat']));

Если надо выложу весь код хеадера!
 
Я чёта не понял что ты хочиш обясни...

значит тебе не дано понять это,иди дальше учись!
те кто могут помочь с данной проблемой,они думаю поймут!
 
Это скорее всего не полный текст ошибки, на сколько я понял у тебя в $_POST['mystat'] (11 строка) отсутствует значение,
тебе надо заменить

Код:
if ($_POST['mystat']){

на

Код:
if (isset($_POST['mystat'])){

или

Код:
if (@$_POST['mystat']){
 
Это скорее всего не полный текст ошибки, на сколько я понял у тебя в $_POST['mystat'] (11 строка) отсутствует значение,
тебе надо заменить

Код:
if ($_POST['mystat']){

на

Код:
if (isset($_POST['mystat'])){

или

Код:
if (@$_POST['mystat']){


подправил первый пост,выложил две ошибки точные!
согласно программе Нотепад то 15 и 17 строки я выделил и написал последними!

Твой вариант попробывал,не канает( :)
 
условия тут не причем.
Основываясь на тех данные что я здесь увидел могу только сказать
попробуй перенеси инклуд html_header.php куда нибудь в другой место
 
условия тут не причем.
Основываясь на тех данные что я здесь увидел могу только сказать
попробуй перенеси инклуд html_header.php куда нибудь в другой место


файл хмтл хеадер подключается ко всем зданиям через файл main.php

Код:
include("config/html_header.php"); // Подключаем шапку документа (для всех зданий)

Ты имеешь введу в маин перенести повыше или как?
 
а вообще переходи на сессии.

не видя файлов больше ничего не могу сказать т.к. надо разбирать файлы которые относятся к файлу header.php
 
Выложи файл в котором данная ошибка я те подроно обьясню как исправить.
Там запрос на данную комнату. вот там ошибка. то есть проверка комнаты когда идёт.

Например:
Код:
elseif ($stat[room]!="10") { header("Location: main.php"); exit; }

Вот это над удалить.
 
Объясняю ошибку:

Ошибка из-за того что - сначала должно посылатьтся то что в <head>...</head> и потом <body>...</body>, а у тебя это нарушается.
Куки работают через HTTP-запросы, это часть <head>...</head>

А у тебя получается: сначала выводтся <body>...<body который в находится в html_header.php, а только потом пытаются создаться куки находящиеся в header.php, вот тебе и ошибка.

Исправление: Или убирай весь <body>...</body> перед куками или тогда пользуйся не куками а чем либо другим.

P.S. судя по твоему коды достаточно будет удалить в файле html_header.php строку
Код:
<BODY oncontextmenu="return false;">
Но возможно это не так как все файлы которые у тебя тут взаимодействуют я не вижу.
 
А не проще тогда воспользоваться функции ob_get_contents().
 
Если бы был всего один файл то как вариант, но так как нам прийдется начинать буферизацию в файле html_header.php, а уже выводить во всех файлах которые с ней связаны (а их много), то выйдет очень геморно.
 
Объясняю ошибку:

Ошибка из-за того что - сначала должно посылатьтся то что в <head>...</head> и потом <body>...</body>, а у тебя это нарушается.
Куки работают через HTTP-запросы, это часть <head>...</head>

А у тебя получается: сначала выводтся <body>...<body который в находится в html_header.php, а только потом пытаются создаться куки находящиеся в header.php, вот тебе и ошибка.

Исправление: Или убирай весь <body>...</body> перед куками или тогда пользуйся не куками а чем либо другим.

P.S. судя по твоему коды достаточно будет удалить в файле html_header.php строку
Код:
<BODY oncontextmenu="return false;">
Но возможно это не так как все файлы которые у тебя тут взаимодействуют я не вижу.

убрал эту одну строку,ничего не меняет!

эту ошибку решает если очистить файл хтмл_хеадер) :)

ок буду разбирать что там не так!спс за помощь
 
Ребята у меня такой вопрос,

файл html_header.php подключается к файлам через main.php

Правильно я понял слова UnDeaD или нет,но я сделал чтто в файле main.php инклуд хмтл_хеадер запихнул в самый конец :)

include("config/html_header.php"); // Подключаем шапку документа (для всех зданий)

?>

Ошибка вроде бы пропала,а вопрос это не плохо?) Имеет ли значение где находится инклуд хмтл_хеадера или нет?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху