Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP - Session speichert keine Werte

Empfohlene Antworten

Veröffentlicht

Hi,

also mein Problem ist das ich die variablen nach meiner meinung richtig registriere. Aber es werden keine Werte gespeichert...

Ich denke mal da ist ne Einstellung an meiner php.ini falsch, wäre nett wenn ihr mal nen Blick drauf werft...


[Session]

; Handler used to store/retrieve data.

session.save_handler = files

session.save_path = C:\Inetpub\wwwroot\tmp


; 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

Hmm...

also ich habe soviel mitbekommen das

bei jedem aufruf von session_start(); immer ein neue Session(Datei) auf dem Server angelegt wird!

Kurz gesagt der speichert (bzw. öffnet) kein Cookie auf dem Client und kann so nicht die SessionID speicher, was dazu führt das jedes mal ne neue Session begonnen wird da er keine ID bekommt.

Tja meine Frage ist nach wie vor wieso?

Cookies sollte der Browser annehmen (hab schon niedriegst Sicherheitsstufe probiert)!

Ich habe z.Z. das Problem so gelöst das ich die Session immer die ID über diesen Code bekommt:


[b]session_id(strtok(gethostbyaddr($REMOTE_ADDR),'.'));

session_start();[/b]

= also immer den Rechnernamen des Clients!

Tja damit wäre das Problem gelöst aber nicht so wie es eigendlich sein sollte...

Hat jemand vielleicht noch Ideen wieso der Client nicht den Cookie annimmt (bzw. keine Werte liefert)?

THX

Ich weiß, daß es in der php.ini eine Option gibt, mit der man festlegt, ob die Session-ID automatisch von Seite zu Seite weitergegeben wird, oder ob man das manuell machen will. Aber ich weiß leider nicht genau, welche. Könnte die letzte Einstellung in deinem geposteten Teil der php.ini sein...

jap habe ich deaktiviert denn der letzte teil bestimmt ob ich bei jedem link immer den Session-Name und die SessionID mitgeben will (über die GET-Methode) - will ich aber nicht

sollte ja standardmäsig über ein lokales Cookie gehn aber komischer Weise geht das ja nicht, wieso auch immer?

Ist das denn nen Problem wenn ich das (so wie ich das jetzt habe) über den PC Namen mache???

THX DePlague

Hi,

probier es mal so:

session_start();

$cookievar = session_id();

setcookie("cookievar",$cookievar,"1");

session_destroy();

Damit sollte im Normalfall die Session ID im Cookie beim Client abgelegt sein.

Vergiss aber nicht die Werte für cookie-parameter korrekt zu setzen:

session_set_cookie_params(0,"pfad/wo/das/Script/läuft","localhost");

Das muss dann noch vor das setcookie.

MfG:)

Hast Du auch die Zugriffsrechte für das Verzeichnis C:\Inetpub\wwwroot\tmp korrekt gesetzt?

@bohni wieso auf dem server? die cookies werden lokal gespeichert und nicht auf dem server! oder habe ich was verpasst?

die daten auf dem server kann ich ja anlegen!

aber der Client speichert die SessionID nicht - sonst würde er ja die Session erkennen und keine neue anlegen...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.