[PHP5] Cannot send session cookie - headers already sent by

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

  • [PHP5] Cannot send session cookie - headers already sent by

    Hallo erst einmal,

    Ich komme leider beim Einbinden eines Kontaktformulares in meine Homepage nicht weiter. Ich habe mir schon einige Beiträge zu diesem Thema hier im Forum durchgelesen. Leider hatte ich mit keiner Problemlösung erfolg. Evtl stelle ich mich auch einfach nur dämlich an.

    Folgender Fehler wird bei mir beim Aufruf des Formulars ausgeworfen:

    PHP-Code:
    Warningsession_start() [function.session-start]: Cannot send session cookie headers already sent by (output started at /users/anne/www/erlebnisse.php:5in /users/anne/www/kontakt.php on line 2 
    Hier die ersten Zeilen meines Codes der kontakt.php:

    PHP-Code:
    <?php
    $script_root 
    substr(__FILE__0,
                            
    strrpos(__FILE__,
                                    
    DIRECTORY_SEPARATOR)
                           ).
    DIRECTORY_SEPARATOR;

      require_once 
    $script_root.'upload.php';

    $remote getenv("REMOTE_ADDR");

    function 
    encrypt($string$key) {
    $result '';
    for(
    $i=0$i<strlen($string); $i++) {
       
    $char substr($string$i1);
       
    $keychar substr($key, ($i strlen($key))-11);
       
    $char chr(ord($char)+ord($keychar));
       
    $result.=$char;
    }
    return 
    base64_encode($result);
    }
    $sicherheits_eingabe encrypt($_POST["sicherheitscode"], "8h384ls94");
    $sicherheits_eingabe str_replace("="""$sicherheits_eingabe);



    if (
    $_POST['delete'])
    {
    unset(
    $_POST);
    }


    if (
    $_POST["sendKontakt"]) {

    Vor dem <?php ist auch keine Leerzeile oder sonstiges. Das ist wohl der häufigste Fehler, welcher gemacht wird habe ich hier im Forum gelesen.

    Über eine Hilfe wäre ich sehr dankbar.

    Vielen Dank im voraus für Eure Mühen.

    Gruß

    edit:
    hier noch die ersten Zeilen der erlebnisse.php:


    PHP-Code:
    <html>
    <
    head>
    <
    title></title>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <
    style type="text/css" media="screen">
    <!--
    #Ebene1 {
        
    height40px
    Zuletzt geändert von Rappi123; 30.01.2008, 15:23.

  • #2
    Unglaublich, aber diese Woche hatten wir das Thema auch noch nicht...

    http://www.php-resource.de/forum/sho...threadid=62965

    Hier die ersten Zeilen meines Codes:
    Von welcher Datei? Und poste mal die entsprechend andere Datei.

    Anstatt die Fehlermeldung in [php]-Tags zu posten, hättest du mal lieber deine Quelltext vernünftig gepostet!

    also beide Quelltexte nochmal sauber hier posten, damit man vernünftig die zeilen Zählen kann (könntest du eigentlich selber auch mal versuchen).

    Kommentar


    • #3
      Hier die ersten Zeilen meines Codes:
      Wieso sollte uns dieser Code interessieren? Ich sehe dort nix vonwegen session_start()...
      Und die Fehlermeldung besagt doch klar dass das Senden des Session Cookies in kontakt.php Zeile 2 nicht geklappt hat da bereits in erlebnisse.php Zeile 5 eine Ausgabe stattgefunden hat.

      Suche also diese Zeile 5 und unterbinde die Ausgabe

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Hallo,

        sorry für die Formatierungsfehler. Bin noch neu im Forum und kannte mich daher noch nicht mit dessen Funktionen aus.
        Ich habe oben das ganze nochmals gemacht.
        Auch habe ich die ersten Zeilen der erlebnisse.php beigefügt. Leider finde ich, wie jahlives sagt keine Ausgabe in Zeile 5.

        Vielen Dank schonmal für Eure Mühen.

        Gruß

        Kommentar


        • #5
          Auch habe ich die ersten Zeilen der erlebnisse.php beigefügt. Leider finde ich, wie jahlives sagt keine Ausgabe in Zeile 5.
          Und das untenstehende nennst du wie? Es braucht nicht unbedingt ein echo 'bla' um eine Ausgabe zu erzeugen. Bereits ein einfaches bla als HTML Quelltext ist eine Ausgabe
          PHP-Code:
          <html>
          <
          head>
          <
          title></title>
          <
          meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          <
          style type="text/css" media="screen">
          <!--
          #Ebene1 {
              
          height40px
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Und du bist dir sicher, dass du auch die richtigen Dateien bearbeitest???

            Ich sehe nämlich auch kein session_start (erst recht nicht in zeile 2) und die ausgabe würde nicht erst in zeile 5 erfolgen, sondern schon in zeile 1 oder zwei.

            also bitte nochmal alles überprüfen.

            Kommentar


            • #7
              Vielen Dank erst mal.

              Also bin mir mit den Dateien sicher. HAbe das nochmals überprüft.
              ein session_start gibt es tatsächlich nicht.

              Was müsste ich in der erlebnisse.php einfügen, bevor ich mit einer Ausgabe beginnen kann ?
              Also was muss ich vor den oben geposteten Quellcode einfügen, damit der Fehler nicht mehr angezeigt wird.

              Sorry für die dämlichen Fragen, aber versuche mich in das ganze etwas reinzuarbeiten.

              Über eure Hilfe bin ich sehr dankbar.

              Kommentar


              • #8
                HAbe das nochmals überprüft.
                ein session_start gibt es tatsächlich nicht.
                Dann kann es aber auch diese Fehlermeldung nicht geben... Oder denkst du PHP haut dir solche Meldungen zum Spass um die Ohren?
                Was müsste ich in der erlebnisse.php einfügen, bevor ich mit einer Ausgabe beginnen kann ?
                Nichts weil wenn du kein session_start() hast kannst du das Problem auch gar nicht haben

                Nur wenn du die Fehlermeldung wirklich hast, dann muss irgendwo ein session_start() enthalten sein. SBG (suchen bis gefunden)
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Also die kontakt.php geht folgendermaßen nun los:

                  PHP-Code:
                  <?php
                  session_start
                  ();
                  $script_root substr(__FILE__0,
                                          
                  strrpos(__FILE__,
                                                  
                  DIRECTORY_SEPARATOR)
                                         ).
                  DIRECTORY_SEPARATOR;

                    require_once 
                  $script_root.'upload.php';

                  $remote getenv("REMOTE_ADDR");
                  das session_start ist hier ja auch zwingend notwendig, da sonst unter anderem die Sicherheitscodeabfrage nicht funktioniert.

                  Die erlebnisse.php habe ich komplett durchsucht und nirgends ein session_start gefunden leider.

                  Gruß

                  Kommentar


                  • #10
                    Also die kontakt.php geht folgendermaßen nun los:
                    Haste jetzt deinen Code an die Fehlermeldung angepasst?

                    Die erlebnisse.php habe ich komplett durchsucht und nirgends ein session_start gefunden leider.
                    Bitte AUFMERKSAM hier lesen.

                    Niemand hat etwas von einem sesion_start in der erlebnisse.php geredet. dort findet lediglich in Zeile 5 die Ausgabe statt.
                    Zuletzt geändert von TobiaZ; 30.01.2008, 15:58.

                    Kommentar


                    • #11
                      Meine Glaskugel vermutet den fehler in der upload.php
                      Freedom is a state of mind. Not a state in which we live.

                      troxdev.ch | animefieber

                      Kommentar


                      • #12
                        Original geschrieben von TroX
                        Meine Glaskugel vermutet den fehler in der upload.php
                        Das würde so gar nicht zu den Fehlermeldungen passen... und eigentlich ist der fehler ja auch schon anderweitig gefunden.nämlich in erlebnisse.php

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          Das würde so gar nicht zu den Fehlermeldungen passen... und eigentlich ist der fehler ja auch schon anderweitig gefunden.nämlich in erlebnisse.php
                          OffTopic:
                          ach... ich sollte besser lesen :/ der startpost mit der kontakt.php hat mich verwirrt, sorry
                          Freedom is a state of mind. Not a state in which we live.

                          troxdev.ch | animefieber

                          Kommentar


                          • #14
                            @ TobiaZ.

                            Danke für deine Hilfe. Ich habe nun wie du sagtest noch einmal alles aufmerksam durchgelesen.

                            Leider bin ich immer noch nicht so recht schlau daraus geworden, außer, dass ich nun weiß, dass der Fehler in der erlebnisse.php liegt.
                            Bzw. Genauer gesagt an der Ausgabe und das ich diese unterbinden muss.

                            Wie kann/muss ich das machen, wenn ich diese Ausgabe denn benötige ?

                            Was muss ich ändern bzw einfügen,damit ich dort die Ausgabe stehen lassen kann ?

                            Über eine Antwort (am besten Idiotensicher) wäre ich sehr dankbar.

                            Gruß

                            Kommentar


                            • #15
                              Also die kontakt.php geht folgendermaßen nun los:
                              Und wird diese kontakt.php direkt vom Client aufgerufen oder wird diese Datei mittels include oder require in eine andere Datei eingebunden?
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X