php: konstanten als sessionvariablen mögllich?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_konstanten_als_sessionvariablen_moegllich_134707/page_1 - zur Vollversion wechseln!


kleinerChemiker schrieb am 17.01.2005 um 14:09

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


Rektal schrieb am 17.01.2005 um 14:24

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;


kleinerChemiker schrieb am 17.01.2005 um 14:28

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.


Rektal schrieb am 17.01.2005 um 15:31

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).


kleinerChemiker schrieb am 17.01.2005 um 16:33

stimmt, ja. bei session_register ists ohne $. bei unset ists mit $.

thx




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025