---
title: "Sporadisches \"Headers already sent\" seit PHP-Script für Sprachauswahl benutzt wird"
url: "https://www.typo3.net/d/72223-sporadisches-headers-already-sent-seit-php-script-fuer-sprachauswahl-benutzt-wird"
source: "typo3.net"
tags: ["TYPO3","Mehrsprachigkeit","Frage","PHP"]
created: "2008-01-08"
last_reply: "2008-01-16"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Sporadisches "Headers already sent" seit PHP-Script für Sprachauswahl benutzt wird

TYPO3 › Mehrsprachigkeit · 2 Antworten · gestartet 2008-01-08

## Eröffnungsbeitrag

**gtdaexl** · 2008-01-08 · [Beitrag #1](https://www.typo3.net/d/72223-sporadisches-headers-already-sent-seit-php-script-fuer-sprachauswahl-benutzt-wird/1)

Hallo Forumsgemeinde,

habe folgendes Problem mit meinem Typo3-Projekt, welches ich auch nach Check der Forumssuche und intensives Googeln nicht lösen konnte:

Ich habe bei meinem Projekt eine Sprachauswahl installiert. Folgendes PHP-Script generiert mir einen Link, welcher es je nachdem, welche Sprache aktuell ausgewählt ist, dem User ermöglicht, auf die jeweils andere Sprache umzuschalten:

```php
<?php 

if (!is_object($this)) die ('Error: No parent object present.');

// Für die aktuelle Seite werden alle all pages_language_overlay records geholt. Jeder Record entspricht einer Sprache
$query = "SELECT * FROM pages_language_overlay WHERE pid=".$GLOBALS["TSFE"]->id.$GLOBALS["TSFE"]->sys_page->enableFields("pages_language_overlay")." GROUP BY sys_language_uid";

$res = mysql(TYPO3_db,$query);
$langArr=array();
while($row=mysql_fetch_assoc($res)) {
     $langArr[$row["sys_language_uid"]]=$row["title"];
}

$flags = array();
if ($GLOBALS["TSFE"]->sys_language_uid==0) {
    // Deutsch ist aktiv - Englisch anbieten
    $flags[] = '<a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=1" target=_top>View this page in English</a>';
} elseif ($GLOBALS["TSFE"]->sys_language_uid==1) {
    // Englisch ist aktiv - Deutsch anbieten
    $flags[] = '<a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=0" target=_top>Diese Seite auf Deutsch anzeigen</a>';
}

// Macht die Ausgabe. Das Menü transferitert die page-id und die "L" variable zur Sprachsteuerung
$content = '<div id="language">'.implode("",$flags).'</div>';

?>
```

Seit ich dieses Skript benutze, erhalte ich jetzt **sporadisch**, also wahnwitzigerweise nicht bei jedem Aufruf der Seite folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /html/fileadmin/scripts/langmenu.php:28-) in /typo3_src-4.1.3/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2907

Bin für jeden Tipp extrem dankbar!

Grüße aus München,

TomD

## Antworten

### [#2](https://www.typo3.net/d/72223-sporadisches-headers-already-sent-seit-php-script-fuer-sprachauswahl-benutzt-wird/2) · susanne · 2008-01-11

Hallo Tom,

in der Fehlermeldung steht, dass der Fehler in Zeile 28 deines Skripts auftritt. Dein gepostetes enthält aber nur 26 Zeilen. Hast du dahinter noch Leerzeilen ? Wenn ja, beseitige sie.

Tschau Susanne

### [#3](https://www.typo3.net/d/72223-sporadisches-headers-already-sent-seit-php-script-fuer-sprachauswahl-benutzt-wird/3) · brokemeister · 2008-01-16

Das sporadische auftreten des Fehlers liegt daran, dass der Fehler nur auftaucht, wenn die Seite noch nicht gecacht wurde. Wenn die Seite gecacht taucht der Fehler nicht mehr auf...

Kleiner Tipp:

Schau dir mal das HowTo:

[/d/67175-anleitung-fuer-mehrsprachige-seiten-mit-realurl](https://www.typo3.net/d/67175-anleitung-fuer-mehrsprachige-seiten-mit-realurl)

Dort steht, wie ganz simple per TS ein Sprachmenü erstellst. Das ganze hat deutlich weniger Zeilen als dein PHP-Script und ist auch deutlich einfacher einzubinden...

Gruß

Malte

---

Quelle: „Sporadisches "Headers already sent" seit PHP-Script für Sprachauswahl benutzt wird“, typo3.net, https://www.typo3.net/d/72223-sporadisches-headers-already-sent-seit-php-script-fuer-sprachauswahl-benutzt-wird
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
