Warum kommen diese header Fehler ?

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

  • Warum kommen diese header Fehler ?

    Es kommen diese Fehler:

    Warning: session_start(): The session id contains invalid characters, valid characters are only a-z, A-Z and 0-9 in /home/www/www365/html/sms/news.php on line 2
    __
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/www/www365/html/sms/news.php:2) in /home/www/www365/html/sms/news.php on line 2
    __
    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/www365/html/sms/news.php:2) in /home/www/www365/html/sms/news.php on line 2
    __
    Warning: Cannot modify header information - headers already sent by (output started at /home/www/www365/html/sms/news.php:2) in /home/www/www365/html/sms/news.php on line 6

    Und diese:

    Warning: Unknown(): The session id contains invalid characters, valid characters are only a-z, A-Z and 0-9 in Unknown on line 0
    __
    Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

    Woran liegt das ?
    Die Datei, die die Fehler verursacht fängt so an:
    PHP-Code:
    <?php
    session_start
    ();
    if (!
    isset_($_SESSION["userid"]))
    {
    header ("Location: infos.php");
    }
    ?>
    Die SID wird richtig an die Datei übergeben
    PHP-Code:
    <?php
    header 
    ("Location:_news.php?PHPSESSID=$PHPSESSID");
    ?>
    und es wird auch "userid" gefunden.
    Es funktioniert alles, bloß es werden die Fehler angezeigt.

    Kann mir jemand helfen ?
    Danke im Voraus.

  • #2
    Warning: session_start(): Cannot send session cookie - headers already sent by
    ...bedeutet, du hast eine ausgabe vor dem header. das kann sein:
    html
    echo
    print
    leerzeichen usw.
    die erste sagt, deine session_id enthählt ungültige zeichen.
    zulässig sind nur:
    only a-z, A-Z and 0-9

    Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

    Kommentar


    • #3
      $PHPSESSID soll die Session_ID beinhalten?
      Soweit ich weiss ist das keine globale Konstante ...

      Mal so probiert?

      PHP-Code:
      <?php
      // session_start() fehlt hier irgendwie auch, bin mir aber nicht sicher ob
      // man das zwingend braucht ...
      session_start();
      $PHPSESSID session_id();
      header ("Location:_news.php?PHPSESSID=$PHPSESSID");
      ?>

      Kommentar


      • #4
        Original geschrieben von hydrococcus
        Warning: session_start(): Cannot send session cookie - headers already sent by
        ...bedeutet, du hast eine ausgabe vor dem header.
        ja, und zwar eben genau diese:
        die erste sagt, deine session_id enthählt ungültige zeichen.
        zulässig sind nur:
        only a-z, A-Z and 0-9
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          http://selfphp.de/funktionsreferenz/...session_id.php
          Da wird $PHPSESSID doch auch als global genutzt, oder versteh ich da was falsch ?

          Aber warum sind unzulässige Zeichen in der SessionID, ich ändere die doch gar nich ?

          Kommentar


          • #6
            Original geschrieben von matzinger
            Aber warum sind unzulässige Zeichen in der SessionID, ich ändere die doch gar nich ?
            lass dir doch mal mit
            echo session_name();
            den namen der session-id ausgeben.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Der Name ist PHPSESSID

              Kommentar


              • #8
                Hast du mal mein Beispiel probiert?
                Kommt da der selbe Fehler?

                Kommentar


                • #9
                  Mach das mal:

                  PHP-Code:
                  <?php
                  session_start
                  ();
                  echo 
                  "<form name=\"test\" method=\"post\" action=\"".$_SERVER['PHP_SELF'].'?phpsessid='.$PHPSESSID."\">";
                  if (isset(
                  $_POST['xindex'])) $i $_POST['xindex'] + 1;
                  else 
                  $i=1;
                  echo 
                  "<input name=xindex type=hidden value=$i>";
                  echo 
                  '<br>SessionID: '.$PHPSESSID.'<br>';
                  if (isset(
                  $_GET['phpsessid'])) echo 'SessionID from URL: '.$_GET['phpsessid'].'<br>';
                  echo 
                  "<br><input type=submit value=\"submit $i\">";
                  echo 
                  '<form>';
                  ?>
                  was kommt raus? ändert sich die SessionID?

                  Kommentar


                  • #10
                    Erst mal danke für eure Bemühungen.

                    @asp2php : Die ID ändert sich nicht.

                    @BlobBanana: Hab ich gemacht.

                    Das Problem ist bei mir kommen die Fehler nicht, egal mit welchen OS oder welchen Browser. Die Fehler kommen nur bei manchen Usern auf meiner Seite. Ich hab es jetzt so wie BlobBanana gemacht, und mach jetzt einen Test mit 10 Usern. Und wenn bei 9 Usern keine Fehler kommen, dann lass ich es so. Dann haben halt ein paar wenige User Pech gehabt. Es fnktioniert ja alles richtig, bloß es sieht eben nicht schön aus.

                    Kommentar


                    • #11
                      IMHO ist hier der Übeltäter:
                      Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

                      hast du auch ein Verzeichnis /tmp angelegt und entsprechende Rechte eingeräumt ?

                      Kommentar


                      • #12
                        ja

                        Kommentar


                        • #13
                          Haben die Leute bei denen das passiert vielleicht Cookies deaktiviert?
                          Sollte aber eigentlich egal sein, da du die SID ja in der URL übergibst ...

                          Wenn session.use_trans_sid in der php.ini auf 1 steht, ist es übrigens nicht notwendig das die SID manuell in der URL übergeben wird (das passiert dann automatisch wenn der User Cookies deaktiviert hat).
                          Allerdings leidet ein wenig die Portabilität darunter (wenn man das Script dann auf einem Server laufen lassen möchte auf dem das aus ist und man keinen Zugriff auf die php.ini hat)

                          Kommentar


                          • #14
                            Hast du bzw. die Clients ein fremdes Sprachpaket installiert... zB. Japanisch, Chinesisch etc.?
                            Zuletzt geändert von Seccho; 06.04.2004, 17:12.
                            _____________
                            Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                            [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                            Kommentar

                            Lädt...
                            X