URL: https://www.overclockers.at/coding-stuff/php_konstanten_als_sessionvariablen_moegllich_134707/page_1 - zur Vollversion wechseln!
kann ich eine konstante in einer session registrieren?
also z.b.
define('AAA', 123);
session_register(AAA);
ist AAA dann auf allen seiten verfügbar, solange die session aktiv ist?
tia
MIK
Ohne zu testen: er versucht die globale Variable '123' zu registrieren, die nicht existiert. Du kannst nur Variablen in die Session speichern.
Besser: $_SESSION['some_constant_value'] = AAA;
naja, wenn ich ne variable registreiren will, schreib ich ja session_register($aaa).
deine möglichkeit ist ja dann im grunde auch nur eine session-variable, keine konstante mehr. aber wenn man konstanten nicht registrieren kann (Was nicht wirklich tragisch ist) mach ichs halt mit ner variable.
IMHO werden Konstanten nicht waehrend der Laufzeit evaluiert (jaja, vielleicht ists bei PHP anders, aber das ist dass, was ich als Konstante verstehen , darum wuerde dort dann stehen 'session_register(123);' was nix bringen wird.
Jedenfalls ist dein Beispiel "session_register($abc);" auch falsch, weil session_register den "Namen einer (globalen) Variable" haben will, was du gibst ist aber eine Variable selbst. Da wird dann der Inhalt von $aaa als "Name" fuer die globale Variable hergenommen. Von session_register ist einfach nur abzuraten, zumal die Uebernahme des Wertes der globalen Variable erst bei Beendigung des Scriptes erfolgt, bei $_SESSION dies aber sofort geschieht (weil es keinen globalen Kontext ausliest sondern direkt die uebergebenen Werte uebernimmt).
stimmt, ja. bei session_register ists ohne $. bei unset ists mit $.
thx
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025