Veröffentlicht 13. März 200223 j Hi, also ich wollte mich mal an Session ransetzen aber ich bekomme immer Fehlermeldungen bei der Ausgabeseite... login Datei: <form method="POST" action="main.php"> <table> <tr> <td> <tr> <td>User:</td> <td><input type="text" name="user" size="20"></td> </tr> <tr> <td>Passwort:</td> <td><input type="password" name="pass" size="20"></td> </tr> </table> <p><input type="submit" value="Login" name="submit"></td> </tr> </table> </center> </form> main.php <? session_start(); session_register ("username", "password", "hostname", "dbName"); $username = $user; $password = $pass; $hostname = "brewster"; $dbName = "Intranetdb"; echo "hallo $username<br>"; ?> Ausgabe: hallo admin PHP Warning: open(/tmp\sess_5d6033d7392a845976c1eb5aa4974585, O_RDWR) failed: No such file or directory (2) in c:\inetpub\wwwroot\user\main.php on line 2 PHP Warning: open (/tmp\sess_5d6033d7392a845976c1eb5aa4974585, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 PHP Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0 Alles was ich dazugefunden habe ist das man in der php.ini den session.save_path setzen muss. Problem ist blos das in meiner php.ini dieser Eintrag nicht existiert... hier mal die php.ini mit dem Session-Abschnitt [Session] ; Handler used to store/retrieve data. session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions. ; Whether to use cookies. session.use_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = \ ; The domain for which the cookie is valid. session.cookie_domain = ; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php ; Percentual probability that the 'garbage collection' process is started ; on every session initialization. session.gc_probability = 1 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. session.gc_maxlifetime = 1440 ; Check HTTP Referer to invalidate externally stored URLs containing ids. session.referer_check = ; How many bytes to read from the file. session.entropy_length = 0 ; Specified here to create the session id. session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom ; Set to {nocache,private,public} to determine HTTP caching aspects. session.cache_limiter = nocache ; Document expires after n minutes. session.cache_expire = 180 ; use transient sid support if enabled by compiling with --enable-trans-sid. session.use_trans_sid = 1 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" THX4HELP DePlague
13. März 200223 j Hmm, bau die Zeile doch einfach in Deine php.ini ein! Und setz da dann ein bestehendes Verzeichnis ein, in dem die Sessions abgelegt werden sollen! Also z.B. c:\temp Für ne genauere Doku reicht es sicher auch, mal "session.save_path" bei Google einzugeben... Viel Erfolg!
13. März 200223 j Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in /tmp ? Das macht mich stutzig. Unter Windows sollte da doch sowas wie \tmp stehen, bzw. der absolute Pfad im Dateisystem... Setzt mal Deinen Session Save Path mit http://www.php.net/manual/de/function.session-save-path.php in ein anderes Verzeichnis und spiel mal damit rum, ich denke es liegt wirklich nur daran, dass es unter Windows keinen /tmp Pfad geben kann.
13. März 200223 j Vielleicht trifft auch das auf Dich zu: http://www.slingandrock.com/InfoCentral/Forums/ThreadView.asp?ThreadID=15&ForumID=5 Den Pfad also in der php.ini auf session.save_path = c:\tmp setzen, egal ob da schon was drinsteht oder nicht. Standard ist nähmlich /tmp, was unter Windows wie oben gesagt nicht geht.
13. März 200223 j Hmm also erstmal danke scheint zu gehn frag mich aber troßdem wieso der Eintrag nicht vorhanden war? Aber mal ne andere Frage an die Session (bzw. Keks *g*) werden doch nur die Werte übergeben/gespeichert wenn ich die Variablen mit session_register ("[varname]"); registriert habe und dann solange darin gespeichert bis ich sie überschreibe oder die Session beende, oder? Weil komischer Weise habe ich (nicht bei dem Bsp.-Code oben) nen Wert in einer Variable drin ( Admin&PHPSESSID=2f1abb1711c2a6154b988330ec926bea ) der da nicht reingehört aber so wie's aussieht von der Session kommt. Und ich habe die Variable nicht in der Session regiestriert !!!:eek:
13. März 200223 j Die SESSION-ID wird automatisch an verlinkte Scripte übergeben. Müssten wohl sogar die letzten 2 Zeilen deines PHP.ini auszuges sein, was das bewirkt. MfG
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.