markus: zwei header , weiterleitung

moin,

ich bekomme den fehler, das der header schon gesetzt ist.

Warning: Cannot modify header information - headers already sent by (output started at C:...checkuser.php:9) in C:...\intern\multiplechoice_schritt2.php on line 38

ich binde am anfang meiner datei folgendes über include ein ein :
(checkuser.php)

<?php
 session_start();

if (!isset ($_SESSION["ID"]))
 {
  header ("Location: ../loginerror.php");
 }

?>

in meinem php-dokument frage ich später eine variable per if anweissung ab, ist die variable gesetzt, soll der benutzer weiterggeleitet werden.

if($blah != null){
     heade(....);
}

das problem muss wohl an der funktion
session_start(); liegen, ich gebe nichts per echo aus!
wie kann ich das ganze nun umgehen?

gruß markus

  1. Hi Markus,

    ich bekomme den fehler, das der header schon gesetzt ist.
    Warning: Cannot modify header information - headers already sent by (output started at C:...checkuser.php:9) in C:...\intern\multiplechoice_schritt2.php on line 38

    diese Fehlermeldung sagt dir doch sehr genau, *wo* der Fehler liegt: In Zeile 9 wurde schon der erste Nutzinhalt ausgegeben. Was also steht in Zeile 9?

    das problem muss wohl an der funktion session_start(); liegen, ich gebe nichts per echo aus!

    Und was ist mit den Leerzeichen und Zeilenumbrüchen *zwischen* den PHP-Blöcken, die ja als Klartext an den Browser ausgegeben werden?

    Schönes Wochenende noch,
     Martin

    --
    Wenn der Computer wirklich alles kann,
    dann kann er mich mal kreuzweise.
    1. hi Martin, danke für die antwort

      diese Fehlermeldung sagt dir doch sehr genau, *wo* der Fehler liegt: In Zeile 9 wurde schon der erste Nutzinhalt ausgegeben. Was also steht in Zeile 9?

      deshalb habe ich ja, den code eingefügt in Zeile 9 steht folgendes :
      ?>
      genau deswegen hab ich ja angemerkt, das es wohl an der funktion session_start() liegen muss.

      wie kann ich das problem umgehen oder den header vielleicht zurücksetzen ?
      ich werde noch ein bisschen versuchen, freu mich aber trotzdem über jede antwort

      1. Hi markus!

        deshalb habe ich ja, den code eingefügt in Zeile 9 steht folgendes :
        ?>

        Aha, haben wir den Übeltäter.

        genau deswegen hab ich ja angemerkt, das es wohl an der funktion session_start() liegen muss.

        Nein, es liegt an den Whitespaces in Zeile 9 und ff.

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        1. mit diesem code frage ich etwas ab

          if($fehler != null){
            header("url: multiplechoice.php");
           }

          ist die variable fehler = null, dann passt alles, sobald der variablen ein Wert zugewiesen worden ist, funktioniert nichts mehr...

          es muss doch aber möglich sein, das zu umgehen...
          Hopsel, meinte, es lege am whitespace, ok und wie mach ich das, das der html interpreter diesen whitespace gar nicht sieht ???

          1. ok und wie mach ich das, das der html interpreter diesen whitespace gar nicht sieht ???

            Indem du ihn aus deinem, PHP-Script entfernst.

  2. Hallo,

    nebenbei ist dieser HTTP-Header...

    header ("Location: ../loginerror.php");

    formwidrig. (vgl. RFC 2616 Abs. 14.30)

    Gruß aus Berlin!
    eddi