Problem mit Login - Sessions

laempisch

Erfahrenes Mitglied
Hallo,

ich habe das Loginsystem vom Tutorial http://www.tutorials.de/tutorials9684.html bei mir in einem Verzeichnis eingebaut. Funktioniert auch super.
Bis auf eine Sache. In meinem Verzeichnis admin habe ich allen Dateien den Code eingefügt:

PHP:
<?php 
include ("checkuser.php"); 
?>

Einige Dateien versuchen jedoch auf Dateien in einem Unterverzeichnis zuzugreifen. Dort bekomme ich folgenden Fehler:

Warning: Cannot modify header information - headers already sent by (output started at /homepages/catalog/admin/checkuser.php:7) in /homepages/catalog/admin/includes/functions/general.php on line 18

Kann mir jemand helfen?

Vielen Dank schonmal
Viele Grüsse
 
Wahrscheinlich sendest du Daten an den Browser bevor du [phpf]session_start[/phpf] oder [phpf]header[/phpf] aufrufst.
 
Du musst halt vermeiden, dass vorher Daten an den Browser gesendet werden. Entweder stellst du deinen Code entsprechend um (Ausgabe in Variablen speichern und erst am Ende des Scripts ausgeben) oder du benutzt Output-buffering mit Hilfe von [phpf]ob_start[/phpf] und [phpf]ob_end_flush[/phpf].
 
Verzweifel.

Hab jetzt schon einige Sachen mit ob_start ausprobiert.
Leider ohne Erfolg.

Kann ich das in meine checkuser.php einbauen oder muss ich den Code von allen Dateien ändern
PHP:
<?php 
session_start (); 
if (!isset ($_SESSION["user_id"])) 
{ 
  ob_start ();
  header ("Location: formular.php"); 
} 
?>


Vielen Dank für Die Hilfe
Grüsse
 
Hallo,
du fügst am Besten vor session_start() ob_start() ein und ganz am Ende ob_end_flush(). Dann sollte es normalerweise funktionieren.

Mit freundlichem Gruß
der_maiki
 
Juchu habs geschafft. :-)

Einfach die ob_start() Anweisung so einbauen.

PHP:
<?php 
session_start (); 
ob_start();
if (!isset ($_SESSION["user_id"])) 
{ 
  header ("Location: formular.php"); 
} 
?>

Vielen Dank an alle!
 

Neue Beiträge

Zurück