PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Cannot modify header information"


Sergej
2007-11-28, 23:30:46
Hi,

ich versuche, per Cookie User von der Erfassung in Google Analytics auszuschließen. Hier der Link: http://xxx.de/
Leider erhalte ich immer die Fehlermeldung, die ihr auf der Seite oben sehen könnt. Warum? Ich habe keine besch... header information!!

Hier der Quellcode:

<html>
<head>
<title>HAIRdirect.de Google Analytics Filter</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
error_reporting(E_ALL);
$var = time() + 31536000;
setcookie("hairdirect_filter", "Google_Analytics_Filter", $var);
?>
<table width="100%" height="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle"> <font face="Verdana, Arial, Helvetica, sans-serif"><img src="done.jpg" alt="" width="50" height="50" border="0">
Google Analytics Filter erfolgreich gesetzt. Weiter zu <a href="http://www.hairdirect.de/">HAIRdirect.de</a></font></td>
</tr>
</table>
</body>
</html>

Kinman
2007-11-28, 23:32:57
cookies müssen gesetzt werden bevor irgendwas ausgegeben wird.

Abhilfe schafft auch ob_start() (http://at.php.net/ob_start) und ob_end_flush() (http://at.php.net/ob_end_flush)

mfg Kinman

Sephiroth
2007-11-28, 23:51:51
cookies müssen gesetzt werden bevor irgendwas ausgegeben wird.

Abhilfe schafft auch ob_start() (http://at.php.net/ob_start) und ob_end_flush() (http://at.php.net/ob_end_flush)

mfg Kinman
http://de.php.net/manual/de/function.setcookie.php
setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Das bedeutet, dass Sie diese Funktion aufrufen müssen, bevor Sie eine Ausgabe, dazu zählen auch <html>- oder <head>-Tags sowie jede Art von Whitespaces, übermitteln.

pack es einfach als erstes, noch vor <html>, in deine php-datei. bei utf-8 kodierten dateien solltest du aufpassen, dass du kein BOM (byte order mark) verwendest (mit PHP 6 gibt sich das :)).

Sergej
2007-11-29, 09:50:41
Danke für die Antworten!

Ich werde es heute Abend gleich ausprobieren.

edit: Schon probiert, funktioniert. Danke.