• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

php - include - kein output - header sent?

Crypt

New member
*solved* php - include - kein output - header sent?

Also ich habe in einigen Skripten eines Forum die datei pass.php per include eingebunden, in der folgendes steht (lediglich 4 variablen und eine kleine Funktion):

PHP:
<?php
$host = "****";
$user = "****";
$pw = "****";
$db = "****";

function mconnect(){
$host = "****";
$user = "****";
$pw = "****";
$db = "****";
	$return['connection'] = mysql_connect($host, $user, $pw);
	if("false"===$return['connection']){
		$return['errors'] = "true";
	}
	  if("false" === mysql_select_db($db)){
		$return['errors'] = "true";
	}
	return $return; 
}
?>
Diese wird dann einfach folgendermaßen included:
PHP:
include_once("pass.php");

Auf meinem Bisherigen Webspace liefen die Skripts auch einwandfreil. Nun habe ich diesen gewechselt, und bekomme seither eine Fehlermeldung, die ich mir nicht erklären kann:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/abi08-forum.freehostia.com/abi08/pass.php:1) in /home/www/abi08-forum.freehostia.com/abi08/login.php on line 14

Die Fehlermeldung tritt dann auf, wenn eine Session eröffnet wird. Normalerweiße ist das ja dann der Fall, wenn zuvor schon Output generiert wurde. Das wird hier angeblich in Line 14 meines Skripts, bzw. Line 1 des zu includierenden Skripts. Ich kann da jedoch nichts dementsprechendes entdecken. Auf meinem lokalen Webserver laufen die Skripts auch makellos.

Was könnte noch dazu geführt haben, dass der header bereits gesendet wurde?
Vielleicht alternativ dieses output-buffering verwenden? Hab' ich noch nicht ausprobiert.
 
Zuletzt bearbeitet:
Was könnte noch dazu geführt haben, dass der header bereits gesendet wurde?
Überprüfe das doch einfach mal!
Schicke Deine Seite mal durch Validome (erweiterte Funktionen) und checke, wie die Servereinstellungen sind.
Oder installiere im Firefox die SEOpen-Erweiterung und checke das dann dort.
Zudem wäre ich etwas voreingenommener, einem Freehoster meine Site zu überlassen. Wer weiß schon, wie dort die Servereinstellungen sind.
 
So, ich hab' die Ursache gefunden. Das Problem war wohl nicht ein whitespace VOR dem <?php tag, sondern ein whitespace NACH dem abschliesenden ?> tag. Das fällt natürlich sehr schwer auf^^.

Aber jetzt funktioniert's einwandfrei.

PS: mittlerweile liegen die dateien nicht mehr bei einem Freehoster
 
Zurück
Oben