session_start funktioniert nicht

DiDiJo

Erfahrenes Mitglied
hey Leute,

meine eine php Datei beginnt so
PHP:
<?php session_start();
	include_once 'inc/header.php';
	$prods = getProdukte($_REQUEST['kid']);
	$design = $_REQUEST['design'];
	$format = $_REQUEST['format'];	
	$color  = $_REQUEST['color'];
	$start  = $_REQUEST['start'];	
	if ($design == '') $design = 'all';
	if ($color == '') $color = 'all';
	#if ($format == '') $format = 'Quadrat';
	if ($start == '') $start = 0;?>

trotzdem bekomme ich folgenden Fehler:
Code:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/w00a870a/start.php:1) in /www/htdocs/w00a870a/start.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/w00a870a/start.php:1) in /www/htdocs/w00a870a/start.php on line 1

wie kann das sein ... ich hab ja vorher keine Ausgabe .. noch nichteinmal ein Zeilenumbruch befindet sich in der Seite.

auf einer 2ten Seite beginnt die Datei wie folgt:
PHP:
<?php session_start();
	include_once 'inc/header.php';
	include_once 'inc/buyscripts.php';
	$prods = getProduktInfo($_REQUEST['design']);
	$design = $_REQUEST['design'];
	$format = $_REQUEST['format'];	
	$color  = $_REQUEST['color'];
	$size  = $_REQUEST['size'];	
	if ($design == '') $design = 'all';
	if ($color == '') $color = 'all';
	if ($size == '') $size = 0;
	if ($format == '') $format = 'Quadrat';
?>

und auch hier kriege ich folgenden Fehler:
Code:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/w00a870a/showProdukt.php:1) in /www/htdocs/w00a870a/showProdukt.php on line 1
 
danke für die Antwort die mich keineswegs weiterbringt.

über die Benutzung der funktion bin ich mir im klaren. Ich hatte auch darauf hingewiesen, dass von meiner Seite keine Ausgabe stattfindet.

Nun aber zu meiner Lösung (könntest du auch in deinen Post zu häufig gestellte Fragen packen):

bei meiner Datei war noch das BOM (Byte Order Mark) aktiviert (ich arbeite in Dreamweaver). Spreich vor meinem <?php war schon ein unsichtbaren Zeichen in der Datei.

Das ganze kann man mit STRG+J unter Title / Kodierung deaktivieren (zumindest im Dreamweaver).
 
Es reicht, wenn Du die session einmal in der Datei startest. :rolleyes:
Du startest Die session in dem Oberen Code und dann includierst Du sie auch noch und startest noch mal die session, einmal reicht vollkommen aus. :)

mfg
 
öhm ... gnau das mache ich ja nicht ... ich habe 2 Dateien die vollkommen unabhängig voneinader sind ... keiner der geposteten Dateien hat die andere included.

der Fehler lag an dem BOM ... ich hab 2 Stunden den fehler gesucht bis ich hier wat gepostet habe .... ein bissel kenne ich mich schon aus ;)
 
Zurück