diff --git a/user_guide_src/source/libraries/sessions.rst b/user_guide_src/source/libraries/sessions.rst index 03c2bbe81fc2..a89e12df32c0 100644 --- a/user_guide_src/source/libraries/sessions.rst +++ b/user_guide_src/source/libraries/sessions.rst @@ -344,6 +344,13 @@ intend to reuse that same key in the same request, you'd want to use .. literalinclude:: sessions/036.php +Changing the Session Key Type +============================= + +Since session data values like Flashdata and Tempdata are differentiated only by internal flags, you can change a value's type without rewriting its data. + +.. literalinclude:: sessions/045.php + Closing a Session ================= diff --git a/user_guide_src/source/libraries/sessions/045.php b/user_guide_src/source/libraries/sessions/045.php new file mode 100644 index 000000000000..b9327e133172 --- /dev/null +++ b/user_guide_src/source/libraries/sessions/045.php @@ -0,0 +1,25 @@ +setFlashdata('alerts', 'Operation successful!'); + +/* + * Get flash value 'Operation successful!' in another controller. + * + * echo session()->getFlashdata('alerts'); + */ + +// You can switch the session key type from Flashdata to Tempdata like this: +session()->markAsTempdata('alerts'); + +// Or simply rewrite it directly +session()->setTempdata('alerts', 'Operation successful!'); + +/* + * Get temp value 'Operation successful!' in another controller. + * + * echo session()->getTempdata('alerts'); + * + * But flash value will be empty 'null'. + * + * echo session()->getFlashdata('alerts'); + */