Seite 1 von 2
Auf session zugreifen und auslesen
Verfasst: Sa 17. Dez 2016, 20:27
von malsdgtac
Hallo,
Contenido 4.9.12 und PHP7
Irgendwie kapier ist es nicht, ich möchte für eine Merkliste auf $_SESSION zugreifen (schreiben und lesen) - aber irgendwie funktioniert es nicht. Mit Contenido 4.8.20 war das noch kein Problem. Was übersehe ich?
Vielen Dank für Eure Hilfe.
Re: Auf session zugreifen und auslesen
Verfasst: Sa 17. Dez 2016, 23:09
von homtata
Da mag sich einiges geändert haben. Guggst du hier:
http://forum.contenido.org/viewtopic.ph ... on#p169022
(da gings um Cookies, aber es stehen auch ein paar Takte zum Session-Handling drin)
sowie hier in der Api-Doku, wie das mit dem register funktioniert, um globale Session-Variablen zu kriegen:
http://api.contenido.org/latest/class-c ... #_register
LG Viktor
Re: Auf session zugreifen und auslesen
Verfasst: Mo 19. Dez 2016, 12:57
von rethus
Was genau hast du bis jetzt versucht?
Du musst da eine genauere Fehlerbeschreibung liefern...
Mal ehrlich:
Welche Note (1-6) für Informationsgehalt würdest du deinem ersten Posting hier in dem Thread geben ?
(Oben bei deiner Fehlerbeschreibung fehlt nur noch eine Aussage um ein Klassiker zu sein: "Ich hab nichts gemacht!"
)
Re: Auf session zugreifen und auslesen
Verfasst: Mo 19. Dez 2016, 13:10
von malsdgtac
Jaja, schon verstanden. Sorry.
Ich habe ein recht umfassendes Projekte von 4.8.20 auf 4.9 umgestellt - vorher auf einem Testaccount überprüft, gedacht es funktioniert alles - umgestellt und die Probleme sind immer größer geworden. In meinem Streß hat irgendwie gar nichts mehr funktioniert, da ist auch der Post entstanden. Ich habe jetzt meine Backups von 4.8.20 eingespielt, damit die Seite wieder läuft.
Ich werde das Projekt nun erst im Jänner wieder aufgreifen, dann werde ich es nochmals strukturiert angehen - schauen was ich schon probiert habe

was genau der Code (vorher und nachher) war und einen informativeren Post erstellen

Und ja, falls ich selber drauf komme, werde ich hier auch meine Lösung für andere posten.
Danke aber trotzdem für eure Antworten

Re: Auf session zugreifen und auslesen
Verfasst: Mo 19. Dez 2016, 17:17
von rethus
smac hat geschrieben:
In meinem Streß hat irgendwie gar nichts mehr funktioniert, da ist auch der Post entstanden. Ich habe jetzt meine Backups von 4.8.20 eingespielt, damit die Seite wieder läuft.
Ja, kennen wir alle. Davon kann sich keiner freisprechen.
Meld dich im Januar einfach wieder, und wir stehen das gemeinsam durch

Re: Auf session zugreifen und auslesen
Verfasst: Mo 30. Jan 2017, 17:54
von malsdgtac
Hallo,
ich habe mich gerade länger dem Thema gewidmet, untern Strich ist es ganz simple. Falls jemand anders es benötigt:
Sessionvariable setzen:
Code: Alles auswählen
$session = cRegistry::getSession();
$meinvariablenname = "meinvariablenwert";
$session->register('meinvariablenname');
Sessionvariable auslesen:
Code: Alles auswählen
$session = cRegistry::getSession();
echo $meinvariablenname;
Für den Fall dass man in der Variable ein Array speichern möchte, und noch nicht weiß ob diese Variable bereits vorhanden ist:
Sessionvariable setzen:
Code: Alles auswählen
$session = cRegistry::getSession();
if ($session->isRegistered('meinvariablenname')) {
$meinvariablenname[] = "meinvariablenwert";
} else {
$meinvariablenname = array("meinvariablenwert");
$session->register('meinvariablenname');
}
Sessionvariable auslesen:
Code: Alles auswählen
$session = cRegistry::getSession();
print_r($meinvariablenname);
Re: Auf session zugreifen und auslesen
Verfasst: Di 31. Jan 2017, 22:01
von malsdgtac
So - und falls es bei jemanden nicht und nicht funktionieren will (wie gerade schon wieder bei mir) - hilft wahrscheinlich der Thread weiter:
http://forum.contenido.org/viewtopic.ph ... on#p170611
Dann funktioniert es auch

Re: Auf session zugreifen und auslesen
Verfasst: Mi 1. Feb 2017, 11:30
von Faar
Lag es am $path ?
Re: Auf session zugreifen und auslesen
Verfasst: Mi 1. Feb 2017, 13:32
von malsdgtac
Ja, es lag am $path.
Ist natürlich nicht so schön, da am Core umändern zu müssen.
Re: Auf session zugreifen und auslesen
Verfasst: Mi 1. Feb 2017, 16:01
von Faar
Interessant ist ja, dass in der PHP-Klasse von 4.9.0 noch als Pfad "/" eingetragen ist und in der Version 4.9.11 dieses $path.
http://api.contenido.org/con490/source- ... on.html#77
http://api.contenido.org/con4911/source ... on.html#89
Im letzteren steckt auch "
http" direkt im Code eingetragen drin, das dürfte bei "
https" Probleme bereiten.
Code: Alles auswählen
79: $start = strpos($url, '://');
80: if (false === $start) {
81: $url = 'http://' . $url;
82: $start = strpos($url, '://');
83: }
84:
85: // url of contenido folder with hostname
86: $path = substr($url, $start + 3);
87:
88: $start = strpos($path, '/');
Was spricht hier gegen
http://php.net/manual/de/function.parse-url.php ?
Lustig ist in der Version 4.9.0 ja dieses hier:
Da wurde das parse_url() zwar schon angedacht aber nicht ausprogrammiert.
Und daraus entstand dann dieses Konstrukt mit "http", strpos() und substr() ...

Re: Auf session zugreifen und auslesen
Verfasst: Do 2. Feb 2017, 09:33
von frederic.schneider_4fb
Wir haben das damals aus Sicherheitsgründen umgebaut. Ich kann deshalb nur davon abraten, das wieder umzustellen, auch wenn es für Eure Probleme "smarter" wirkt. Die Problematiken mit den Pfaden sollten in der aktuellen Version eigentlich behoben sein?!?
Re: Auf session zugreifen und auslesen
Verfasst: Do 2. Feb 2017, 10:35
von malsdgtac
Hallo frederic,
also in der Version 4.9.12 (nach einem Upgrade) hat das interne Sessionhandling nicht funktioniert. Erst mit der Änderung in der contenido/classes/class.session.php
Code: Alles auswählen
if (false !== $start) {
$path = substr($path, $start);
session_set_cookie_params(0, '/');
} else {
// fall back to entire domain if no path can be computed
session_set_cookie_params(0, '/');
}
hat es funtkioniert.
Re: Auf session zugreifen und auslesen
Verfasst: Do 2. Feb 2017, 11:55
von frederic.schneider_4fb
Ich schaue mir das kommende Woche nochmal an (versprochen). Ich kenne die Problematik ja. Dachte aber, das wäre inzwischen zuverlässig behoben
Re: Auf session zugreifen und auslesen
Verfasst: Do 2. Feb 2017, 12:00
von malsdgtac
Find ich super! Danke
Re: Auf session zugreifen und auslesen
Verfasst: Do 2. Feb 2017, 15:04
von Faar
frederic.schneider_4fb hat geschrieben:Wir haben das damals aus Sicherheitsgründen umgebaut. Ich kann deshalb nur davon abraten, das wieder umzustellen, ...
Und wie harmoniert das fest eingeschriebene
http mit
https ?
