Problem mit header()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit header()

    Also, wenn ich diese funktion benutze:

    header ("Location:admin.php");

    Dann kommt bei mir immer dieser Fehler, weiß jemand wo dran das liegen kann ?

    Warning: Cannot add header information - headers already sent by (output started at g:\meinhp\game\verify.php:2) in g:\meinhp\game\verify.php on line 45


    Wäre für jede Hilfe dankbar !

    p.s. sobald ich den header vor session_start(); setze funktioniert er.
    Aber wieso kommt danach der Fehler ?
    Zuletzt geändert von Don Gigi; 24.01.2003, 00:30.

  • #2
    Hi,
    der Fehler:
    Warning: Cannot add header information - headers already sent by (output started at g:\meinhp\game\verify.php:2) in g:\meinhp\game\verify.php on line 45
    ist mir eigentlich von daher bekannt, wenn vor dem header schon etwas mit echo ausgegeben wurde. Trifft dies in deinem Script eventuell auch zu???
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      Ist aus dem Tutorial das Login Session Script :

      <? session_start(); ?>
      <? include('data.inc.php'); ?>

      <?
      if ((!isset($username)) OR (!isset($passwort)))
      {
      die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
      }



      $conn = @ mysql_connect($dbserver,$dbuser,$dbpass);
      if (!$conn)
      {
      die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
      }


      mysql_select_db($dbname,$conn);

      $query = "SELECT pass, email FROM account WHERE name = '".$username."'";
      $result = mysql_query($query,$conn);

      $zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
      mysql_close($conn);

      if (!$zeileholen)
      {
      die ("Sorry, aber dieser Name ist leider nicht bekannt !");
      }



      if ($zeileholen["pass"] <> $passwort)
      {
      die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
      }

      $level = $zeileholen["email"];
      ?>

      <?
      header ("Location: admin.php");
      exit;
      ?>

      Kommentar


      • #4
        wenn du
        PHP-Code:
        ?>

        <?php
        schreibst ist das bereits auch eine Ausgabe. Dann sind alle header schon gesendet und header() funktioniert nicht mehr. Vor header darf keine Ausgabe erfolgen, nicht einmal ne Leerzeile oder ein Leerzeichen.
        {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

        Kommentar


        • #5
          Hab es jetzt so geändert, kommt aber immer noch der selbe Fehler.

          <?
          session_start();
          include('data.inc.php');

          if ((!isset($username)) OR (!isset($passwort)))
          {
          die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
          }

          $conn = @ mysql_connect($dbserver,$dbuser,$dbpass);
          if (!$conn)
          {
          die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
          }

          mysql_select_db($dbname,$conn);

          $query = "SELECT pass, email FROM account WHERE name = '".$username."'";
          $result = mysql_query($query,$conn);

          $zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
          mysql_close($conn);

          if (!$zeileholen)
          {
          die ("Sorry, aber dieser Name ist leider nicht bekannt !");
          }

          if ($zeileholen["pass"] <> $passwort)
          {
          die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
          }

          $level = $zeileholen["email"];

          header ("Location: admin.php");
          exit;
          ?>

          Kommentar


          • #6
            Vor dem <? ist auch nix mehr? Wird in der 'data.inc.php' auch nix ausgegeben?
            {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

            Kommentar


            • #7
              Nein, da sind nur die Variablen definiert.
              Wie gesagt, wenn ich den header vor das session_start setze dann kommt kein Fehler, sobald ich ihn danach setze kommt er !

              Kann es sein , dass die session_start was ausgibt ?

              Kommentar


              • #8
                Es geht auch nicht, wenn du den header zwischen session_start(); und
                include('data.inc.php'); setzt?
                {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

                Kommentar


                • #9
                  Nachdem ich jetzt ein paar mal den Header verschoben hab funktioniert es, keine Ahnung wieso !

                  Danke für die Hilfe..

                  Kommentar


                  • #10
                    Häh
                    Naja, Hauptsache es geht
                    {brigens Ein Kezboard/Treiber ist v;llig [berfl[ssig!

                    Kommentar


                    • #11
                      Original geschrieben von Don Gigi
                      Nachdem ich jetzt ein paar mal den Header verschoben hab funktioniert es, keine Ahnung wieso !
                      irgendwo hast du eine ausgabe gemacht. ob bewusst, oder unbewusst.
                      schaue dir mal genau dein script und die includes an, ob da was ist.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar

                      Lädt...
                      X