session_start();

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

  • session_start();

    Hi,
    meine Frage ist ;
    wenn ich versuche eine session zu starten bekomme ich immer diese meldung:


    Warning: session_start() [function.session-start]: open(/tmp\sess_68c0efb07d4c7ad492df2a9a6aa6ae2d, O_RDWR) failed: No such file or directory (2) in c:\programme\apache group\apache\htdocs\css_try\sesion.php on line 9

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\programme\apache group\apache\htdocs\css_try\sesion.php:8) in c:\programme\apache group\apache\htdocs\css_try\sesion.php on line 9

    Warning: Unknown(): open(/tmp\sess_68c0efb07d4c7ad492df2a9a6aa6ae2d, O_RDWR) failed: No such file or directory (2) 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

    .Wie kann ich session richtig starten?
    Mfg
    BigBlue

  • #2
    du musst in deiner PHP.INI den pfad für die session files anpassen. auf ein verzeichnis, dass auch existiert am besten
    h.a.n.d.
    Schmalle

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



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

    Kommentar


    • #3
      hi,
      ich hebe meine php.ini file wie unten geändert.


      session.save_path = /tmp war default und jetzt

      session.save_path =C:\WINDOWS\Temp

      Mein Coding ist wie unten.
      PHP-Code:
      <?php
      session_start
      ();

      ?>
      EDIT:
      Auch du kannst die code.tags/php.tags des Forum benutzen! php.tags by wotan

      Das gibt fehlermedung:

      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\programme\apache group\apache\htdocs\css_try\sesion.php:8) in c:\programme\apache group\apache\htdocs\css_try\sesion.php on line 9

      was muss ich jetzt tun um session_sta´rt zu richtig zu nutzen.
      Mfg
      BigBlue
      Zuletzt geändert von Wotan; 28.08.2003, 14:22.

      Kommentar


      • #4
        Bevor du die Session startest, darf noch keinerlei Output an den Client gesendet worden sein, also setz session_start() direkt an den Anfang der Datei.

        Kommentar


        • #5
          Anmerkung: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.

          http://php.net/session_start
          hopka.net!

          Kommentar


          • #6
            hallo,

            ich hab dasselbe problem...
            ich hab in der php.ini den session.save_path auf "C:\Windows\Temp" gestellt, aber noch immer sagt er:

            Code:
            Warning: session_start() [function.session-start]: open(/tmp\sess_b1368ec575d7866e0332794ff727a414, O_RDWR) failed: No such file or directory (2) in c:\dokumente und einstellungen\ich\desktop\script\haha.php on line 5
            Was ist /tmp???

            Zusätzlich gibt es noch diese Fehlermeldungen:

            Code:
            Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\dokumente und einstellungen\ich\desktop\script\haha.php:5) in c:\dokumente und einstellungen\ich\desktop\www\ordi-kalender korrekt\haha.php on line 5
            
            $my_sid: b1368ec575d7866e0332794ff727a414 | session-id():b1368ec575d7866e0332794ff727a414 | SID: PHPSESSID=b1368ec575d7866e0332794ff727a414   
              
            Warning: Unknown(): open(/tmp\sess_b1368ec575d7866e0332794ff727a414, O_RDWR) failed: No such file or directory (2) 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
            der quellcode ist wie folgt:
            PHP-Code:
            <?php
              srand
            ((double)microtime()*10000);
              
            $my_sid md5(uniqid(rand()));
              
            session_id($my_sid);
              
            session_start();
              echo 
            "\$my_sid: "$my_sid;
              echo 
            " | session-id():"session_id();
              echo 
            " | SID: "SID;
            ?>

            hoffentlich kann mir irgendjemand helfen!!

            mfg thomas

            p.s.: ich verwende win xp professional....
            da ist ein kleiner unterschied zwischen den pfaden von home und prof...
            Zuletzt geändert von tomstig; 09.12.2009, 14:23.
            [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

            Kommentar


            • #7
              scheinbar hat er den Wert nicht akzeptiert.

              Hast du nach der Änderung den Apache neu gestartet?

              Die php.ini, die du ändern musst ist die C:\WINDOWS\php.ini
              hopka.net!

              Kommentar


              • #8
                ey danke....

                oft liegen die lösungen doch so nah...

                1. hab ich die php.ini im php ordner verändert
                2. apache vergessen...

                vielen danke

                mfg
                [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                Kommentar


                • #9
                  wenn wir gleich dabei sind...

                  haha.php:
                  PHP-Code:
                  <?php
                    srand
                  ((double)microtime()*10000);
                    
                  $my_sid md5(uniqid(rand()));
                    
                  session_id($my_sid);
                    
                  session_start();
                    
                  $_SESSION[id] = $my_sid;
                    echo 
                  "\$my_sid: "$my_sid;
                    echo 
                  " | session-id():"session_id();
                    echo 
                  " | SID: "SID;
                    echo 
                  "<br><a href=\"haha2.php?".SID."\">weiter...</a>";
                  ?>
                  haha2.php:
                  PHP-Code:
                  <?php
                  echo $_SESSION[id];             #funktioniert nicht. Warum?
                  echo $_GET[PHPSESSID];      #funktioniert
                  ?>
                  mfg thomas

                  p.s.: sind schon einfallsreiche dateinamen...
                  [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                  Kommentar


                  • #10
                    in haha2.php fehlt session_start()

                    ausserdem ... warum baust du dir deine session_id selber in der haha.php ?
                    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


                    • #11
                      das script hab ich aus einem buch abgeschrieben...
                      da haben sie gezeigt, dass es so auch geht...

                      danke, jetzt funktioniert es...
                      Zuletzt geändert von tomstig; 13.09.2003, 12:38.
                      [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                      Kommentar


                      • #12
                        Original geschrieben von Abraxax
                        warum baust du dir deine session_id selber in der haha.php ?
                        Soweit ich weiß, geht die selbstgebaute ID bei einem Refresh des Browsers nicht verloren - sonst wird bei jedem Refresh eine neue Session gestartet.

                        Kommentar


                        • #13
                          Original geschrieben von DSB
                          Soweit ich weiß, geht die selbstgebaute ID bei einem Refresh des Browsers nicht verloren - sonst wird bei jedem Refresh eine neue Session gestartet.
                          ich verstehe nicht, was du meinst.

                          wenn immer session_start() enthalten ist, wird die session beim ersten mal mit nummer versehen und bei den weiteren malen immer wiederaufgenommen.

                          nur das erstellen einer eigenen session_id ist nicht notwendig. das meine ich.
                          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


                          • #14
                            Original geschrieben von Abraxax
                            ich verstehe nicht, was du meinst.

                            wenn immer session_start() enthalten ist, wird die session beim ersten mal mit nummer versehen und bei den weiteren malen immer wiederaufgenommen.

                            nur das erstellen einer eigenen session_id ist nicht notwendig. das meine ich.
                            Das ist auch nur auf der Seite der Fall, wo die Session gestartet wird und
                            wenn Cookies im Browser deaktiviert sind.
                            Wird diese Seite refreshed, wird die soeben erzeugte SID nicht an den URL angehangen. Dadurch erkennt der Server keinen Zusammenhang zu der vorher gestarteten Session und startet eine neue Session.

                            So zumindest habe ich die Problematik im Kopf. Leider habe ich zur Zeit mein PHP-Buch verliehen (hole es mir aber heute abend wieder *g*) und kann dann genauer sagen, warum man das mit einer eigenen SID-Zuweisung verhindern kann. Genaue Erklärung folgt also noch...ich bitte um etwas Geduld. :-)

                            Kommentar


                            • #15
                              So, da hatte ich das wohl nicht so ganz richtig in Erinnerung.
                              Der von mir beschriebene Fall trifft nur dann zu, wenn auf ein und derselben Seite eine Session erzeugt und auch genutzt wird, sich eine einzige Seite also selbst aufruft und mit der Funktion session_id() gearbeitet wird.
                              Grundsätzlich hat Abraxax also (wie kann es auch anders sein *g*) recht.

                              In diesem Beispiel ging es um einen Counter:

                              Falls das Cookie jedoch nicht gesetzt werden kann, die Übermittlung der Session-ID also über die URL erfolgt, zeigt sich hier ein Problem.
                              Führt der Anwender im Browser einen "Reload"aus, geht die soeben erzeugte Session-ID verloren.
                              Abhilfe schafft eine automatischer Aufruf der Seite.
                              Dann muss man die Session-ID jedoch manuell erzeugen.

                              PHP-Code:
                              <?PHP
                              $my_id 
                              session_id();
                              if (!(
                              eregi("[a-z0-9]{32}",$my_id))) 
                              {
                              srand((double)microtime()*1000000); 
                              $my_id md5(uniqid(rand()));
                              session_id(Smy_id);
                              session_start();
                              $destination "http://".$HTTP HOST.$PHP SELF
                              $destination .= "?".$SID;
                              header("location: $destination"); 
                              exit;
                              }
                              session start();
                              session_register("counter"); 
                              $counter++;
                              echo 
                              $counter." Aufrufe";
                              ?>
                              Die Funktion session id() hat gleich zwei Aufgaben. Wird sie mit einem Parameter aufgerufen, wird die Session-ID gesetzt. Ohne einen Parameter gibt sie die aktuelle ID zurück.
                              Als Erstes wird mit einem regulären Ausdruck geprüft, ob eine mögliche Session-ID vorhanden ist. Falls dies nicht der Fall ist, muss eine berechnet werden. Dazu wird mittels srand()der Zufallsgenerator initialisiert.Als Parameter wird eine Zahl übergeben.
                              Eine Zufallszahl wird als Basis für uniqid()genutzt. Durch die Verschlüsselung der Rückgabe wird ein String von 32 Zeichen gebildet, der auch keine Sonderzeichen enthält.

                              Kommentar

                              Lädt...
                              X