SetCookie called after header

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

  • SetCookie called after header

    Hallo miteinander,

    habe folgendes Problem! Für einen Loginbereich werden die Eingaben zu User und Passwort aus dem login-formular an folgendes script übergeben . Es wird überprüft, ob ein diese Kombination (passwort/user) in der Datenbank "Kummerkasten" existiert. Wenn ja, sollen die Cookies geschrieben werden und anschließend soll eine Begrüßung ausgegeben werden. Mein Problem ist nun, dass ich immer die Fehlermeldung :

    //Oops, php3_SetCookie called after header has been sent in /usr/local/httpd/htdocs/jasmin/login.php3 on line 13
    //

    erhalte, obwohl doch die Cookies geschrieben wurden bevor ein header vesendet wurde. Was mache ich Falsch ?????

    Danke

    Olli


    //Schnipsel aus dem Code

    include(/usr/local/httpd/includes/connection_to_kummerkasten.inc");
    connection_to_kummerkasten();
    mysql_select_db("Kummerkasten");
    $sq = mysql_query ("Select User_ID from login where Passwort = '".$pass."' and Username = '".$user."'");

    $row = mysql_num_rows($sq);
    if($row != 0)
    {
    $result = mysql_fetch_object($sq);

    SetCookie("user_name",$user, NULL);
    SetCookie("user_id",$result->User_ID, NULL);
    SetCookie("login","ok",NUll);



    ?>
    <html>
    <head>

    <title>Kummerkasten</title>
    </head>
    .
    .
    .
    <?
    }
    else
    {

    //

  • #2
    hmm,

    wie sieht denn das Include aus ?

    Kommentar


    • #3
      Das INclude enthält nur dioe Parameter zur verbindung mit der Datenbank.

      //

      <?
      function connection_to_kummerkasten()
      {
      $users = "user_kummerkasten";
      $password = "28g3g";
      $host = "localhost";

      mysql_connect($host,$users,$password);
      }

      ?>

      //

      ciao Olli

      Kommentar


      • #4
        Achte mal drauf, das nirgendwo leerzeichen ausserhalb des <? ?> Tags rumliegen. Das könnte schon das Problem sein.

        Kommentar


        • #5
          könnte es nicht auch sein, dass der browser schon einmal anfängt den html salat auszulesen, bevor er php vom server zurückbekommen hat????
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            Hi!

            Eigentlich sollte der Browser noch gar nichts zum verarbeiten haben, solange das script noch nicht fertig ist.

            Was drauf wetten würd ich allerdings auch nich

            Man könnte den html-code in eine andere Datei auslagern und die am Ende des scripts includen. Dann wär man da auf jeden Fall auf der sicheren Seite.

            cu tj99de
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              hmm,

              Original geschrieben von schmalle
              könnte es nicht auch sein, dass der browser schon einmal anfängt den html salat auszulesen, bevor er php vom server zurückbekommen hat????
              NEIN

              Kommentar


              • #8
                Hi nochmal,

                ich habe jetzt mal versucht, den html-quellcode in eine externe Datei auzulagern und sie anschließend als include einzubinden. Ist ja eigentlich ne gute Idee, aber gebracht hat es leider auch nichts, der fehler ist immer noch der gleiche.
                Bei diesem Versuch hat mich aber ein Fehler (Tippfehler bei Pfadangabe zur include Datei) vielleicht etwas weiter gebracht. Trotz falschem Include-Pfad (es konnte also kein HTML-Code eingebunden werden) kam auch wieder die Fehlermeldung von wegen Cookies.
                Bringt mich zwar irgendwie auch nicht weiter, verwirrt mich eher noch mehr.

                ciao Olli

                Kommentar


                • #9
                  Das is ein cookie problem kein PHP problem
                  Stelle sicher dass der cookie VOR jedem anderen Header an den Browser gesandt wird sonst funzt das ganze net..
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    Ja, das ist mir ja eigentlich auch klar. Es darf kein Header vor den Cookie-Anweisungen an den Browser gesendet werden. Mein Problem (oder vielleicht stehe ich ja auch einfach nur auf dem Schlauch) liegt nun aber darin, dass ich in meinem Script-Code keine Passage finde, die vor den SetCookie-Anweisungen einen Header an den Browser versendet. Das Script-schnipsel aus meinem ersten Posting ist haargenau der Anfang meines Scriptes. Was nach den SetCookie-Anweisungen folgt spielt ja dann in Hinblick auf die Cookies keine Rolle mehr.

                    ciao Olli

                    Kommentar


                    • #11
                      Nur falls es jemanden interessieren sollte. Ich habe das Problem gelöst, auch wenn mir im Moment noch nicht so ganz klar ist, warum das ganze jetzt funktioniert und vorher nicht.
                      Ich habe einfach die Include-Anweisung ersetzt indem ich den Code der *.inc datei direkt in das Script aufgenommen habe. War nur mal son ne blöde Idee von mir. Ja und jetzt funktioniert das auch mit den Cookies einwandfrei. Fragt mich jetzt nur nicht warum es vorher nicht funktioniert hat.
                      Kein Ahnung.

                      ciao Olli

                      Kommentar


                      • #12
                        Hast du bei der Gelegenheit vielleicht die Leerzeilen und/oder -zeichen vor dem öffnenden <?php gelöscht=
                        mein Sport: mein Frühstück: meine Arbeit:

                        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                        Kommentar

                        Lädt...
                        X