Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > JpGraph Error: HTTP headers have already been sent


Автор: Oriander 14.7.2009, 23:15
Сильно прошу помочь мне понять что это за ошибка, гугл не помог


Я следовал всем указаниям данной статьи:
http://hostinfo.ru/articles/web/rubric48/rubric55/rubric59/rubric61/1135/

Все верно прописал, пути подправил... итд итп.
Выскакивает ошибка (причем ошибка стилизированая: и текст там в колоре и бордер блока есть...), что указывает на то,
что ошибка действительно из библиотеки JpGraph.
Цитирую ошибку: 

Цитата

JpGraph Error: HTTP headers have already been sent.
Caused by output from file tval.php at line 7.
Explanation:
HTTP headers have already been sent back to the browser indicating the data as text before the library got a chance to send it's image HTTP header to this browser. This makes it impossible for the library to send back image data to the browser (since that would be interpretated as text by the browser and show up as junk text).

Most likely you have some text in your script before the call to Graph::Stroke(). If this texts gets sent back to the browser the browser will assume that all data is plain text. Look for any text, even spaces and newlines, that might have been sent back to the browser. 

For example it is a common mistake to leave a blank line before the opening "<?php".


Начал я все пустые строки без кода убирать - ничего не выходит. Но значение "Caused by output from file tval.php at line 7" - 7 меняется.
В итоге все-равно ошибка одна и та же...
Или перед функциией Graph::Stroke() вообще не должно быть никакого кода, даже пробелов? Что-то я понять не могу... помогите  smile

Добавлено через 6 минут и 43 секунды
Вот код:

Код

<?php
include ("jpgraph/src/jpgraph.php"); 
include ("jpgraph/src/jpgraph_line.php"); 
$ydata = array(1, 7, 3, 5, 11, 10, 7);
$xdata = array(0, 1, 2, 3, 4, 5, 6); 
$graph = new Graph(300, 200, «auto», 10, true); 
$graph->SetScale("textlin"); 
$lineplot = new LinePlot($ydata, $xdata); 
$lineplot->SetColor("forestgreen"); 
$graph->Add($lineplot); 
$graph->title->Set("My Example"); 
$graph->title->SetFont(FF_ARIAL, FS_NORMAL);
$graph->xaxis->title->SetFont(FF_VERDANA, FS_BOLD);
$graph->yaxis->title->SetFont(FF_TIMES, FS_ITALIC); 
$graph->xaxis->title->Set("Ось X");
$graph->yaxis->title->Set("Ось Y"); 
$graph->xaxis->SetColor("#BB0000");
$graph->yaxis->SetColor("#BB0000"); 
$lineplot->SetWeight(3); 
$lineplot->mark->SetType(MARK_STAR); 
$lineplot->value->Show(); 
$graph->SetBackgroundGradient("ivory"); 
$graph->SetShadow();
$graph->Stroke();
?>



Автор: Oriander 14.7.2009, 23:31
Нашел я что-то интереснее http://code.google.com/intl/ru-RU/apis/chart/#overview (для людей, которые столкнулись с этой траблой)
Попробую это... Если кто-то сможет ответить на мой вопрос по тебе - буду рад

Автор: bars80080 15.7.2009, 09:58
у тебя скрипт tval.php отдаёт файл библиотеки, как понимаю, и в ней отсылаются какие-то заголовки. однако, ранее седьмой строчки заголовки уже были отосланы. это мог сделать один из файлов, подключаемых в начале, либо у тебя не чистый скрипт tval.php, либо пробелы перед <?php, либо скрытый символы начала страницы. его можно в блокноте выудить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)