Session_start(); verursacht Warnmeldung

julia29

Erfahrenes Mitglied
Hallo,
ich möchte eine Session-Variable ($email) zu einer anderen Datei mitnehmen um dort
mit diesem Wert eine Suche ausführen zu können.

Ich schreibe also am Ende meines ersten PHP-Scripts

PHP:
session_start();
$_SESSION['abc'] = $email;

gehe dann automatisch zum 2. PHP-Script über
HTML:
<meta http-equiv="refresh" content="0; URL=http://www.example.de/list03.php">

und schreibe dort
PHP:
session_start();
$email = $_SESSION['abc'];

Die benötigten Daten werden korrekt mitgenommen;
jedoch erscheint eine Warnung von meinem ersten PHP-Script

Code:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/web2/html/31_detail1_neu_up.php:3) in /var/www/web2/html/e000/31_detail1_neu_up.php on line 47
das ist genau die Stelle wo mein session_start() steht.
Nehme ich es weg, kann in der 2.PHP-Datei nicht mehr mit diesem Wert gearbeitet werden.

Da sonst ja alles richtig funktioniert, wie bekomme ich die Warnung weg,
sieht irgendwie unschön aus?

error_reporting(E_ALL);
habe ich bereits herausgenommen, die Warnung kommt jedoch immer noch.

mfg
julia
 
Hatte ich erst, war aber ohne Funktion.
Also habe ich session_start(); ans Ende gepackt, da wo auch die Session-Variable gebildet wird.
Dann klappte es.
 
Zum Verständnis:
Die Session besteht aus einem Cookie im Browser und den Daten auf dem Server.
Dieser Cookie muss immer wieder mitgesendet werden! Allerdings kann der Header nur einmal gesendet werden, sodass nach erstmaliger Ausgabe kein [phpf]session_start[/phpf] mehr möglich ist.

Deshalb immer vor jeglicher Ausgabe [phpf]session_start[/phpf] aufrufen!
PHP:
// Eventuell Daten verarbeiten, berechnen - KEINE AUSGABE!

session_start();

// Session-Daten verfügbar ==> Jetzt was mit Session-Daten machen

// Daten ausgeben z.B. HTML oder PDF
 
Zurück