tags:

views:

155

answers:

2

Hello. I get the errormessage: Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\json.php:1)

I know this errormessage will come, if I wrote something and want to send later an header information. But in this case I don't write anything. Here is my code starting at line 1.

<? header("Content-type: text/html; charset=utf-8");

require ("diplom/includes/php/datenbankfunktionen.php");

$sDB_Server   = "localhost";
$sDB_User     = "root";
$sDB_Password = "";
$sDB_Database = "JSON";

$sSql = "SELECT name, phone, mail as email, contactID AS id FROM contact;";
$aContacts = DB_GetSelectArray($sSql);
echo '{"DATA":'.json_encode($aContacts).',"SUCCESS":true,"ERRORS":[]}';
?>

Can somone help me? I use an developer system with XAMPP.

A: 

Check if you have a whitespace or empty line before <? header("Content-type: text/html; charset=utf-8"); and remove it.

Felix Kling
+5  A: 

You've been had by the utf8 BOM

Basically your file has some strange characters at the beginning of the file to mark it as utf8. This is called a Byte Order Mark and is not shown in most editors but is output by php

.

meouw
+1 for being most likely the right answer. I've tripped up over the BOM with PHP before.
Andy E
thank you!!! You beware my laptop learning to fly :)
Lara Röpnack
Flying laptops!? eh?
meouw
+1: nice info thanks
Sarfraz
Really nice info!
BrunoLM