How to set and read a flash variable? - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forumdisplay.php?fid=5) +--- Forum: General Help (https://forum.codeigniter.com/forumdisplay.php?fid=24) +--- Thread: How to set and read a flash variable? (/showthread.php?tid=68336) |
How to set and read a flash variable? - desbest - 06-25-2017 I've been reading the documentation. https://codeigniter.com/user_guide/libraries/sessions.html?highlight=flash#CI_Session::mark_as_flash Do I use mark_as_flash($variable); to use it? Also flashdata() which is supposed to be used to get flash variables, is a legacy method. What do I use instead? The documentation says to store stuff in the session, but what if I want the framework to give me temporary variables that only exist in the next page load? Does Codeigniter have flash variable functionality? RE: How to set and read a flash variable? - Paradinight - 06-25-2017 (06-25-2017, 10:13 AM)desbest Wrote: I've been reading the documentation. Reading flashdata variables is the same as reading regular session data through $_SESSION: Code: $_SESSION['item'] = 'value'; ... RE: How to set and read a flash variable? - desbest - 06-30-2017 I'm using this code in the controller and I'm getting an error. Code: @session_start(); Undefined property: Admin::$session Call to a member function mark_as_flash() on null RE: How to set and read a flash variable? - dave friend - 06-30-2017 (06-30-2017, 02:08 AM)desbest Wrote: I'm using this code in the controller and I'm getting an error. You need to load the session library instead of starting a session yourself with @session_start(); PHP Code: $this->load->library('session'); RE: How to set and read a flash variable? - ciadvantage - 06-30-2017 I found it useful as just auto load session in the auto load then you just simply call it by $this->session and also I think the flash data only available per next immediate request such as for example error message to show on the page on redirect by calling $this->session->flashdata('error_message') on the view RE: How to set and read a flash variable? - Paradinight - 06-30-2017 (06-30-2017, 02:08 AM)desbest Wrote: I'm using this code in the controller and I'm getting an error. Read the documentation. https://www.codeigniter.com/user_guide/libraries/sessions.html Quote:Sessions will typically run globally with each page load, so the Session class should either be initialized in your controller constructors, or it can be auto-loaded by the system. For the most part the session class will run unattended in the background, so simply initializing the class will cause it to read, create, and update sessions when necessary. RE: How to set and read a flash variable? - gabrielcastillo - 02-09-2018 So to better understand the documentation for flashdata.. I to set a flashdata "message" for example, I need to set a session variable, them mark it as flashdata. So now instead of: PHP Code: $this->session->set_flashdata('message', 'Invalid Users'); I need to do: PHP Code: $_SESSION['message'] = 'invalid users'; So when I want to view my flashdata I need to: PHP Code: echo $this->session->flashdata('message'); Does this mean, the "mark_as_flash" function remove's the "_SESSION['MESSAGE']" variable from my sessions array? RE: How to set and read a flash variable? - Wouter60 - 02-09-2018 PHP Code: $this->session->set_flashdata('message', 'Invalid Users'); PHP Code: echo $this->session->flashdata('message'); is also OK, but only for the very next page request. As soon as another page is loaded after that, the flashdata is removed from the session. RE: How to set and read a flash variable? - dave friend - 02-09-2018 (02-09-2018, 02:52 PM)gabrielcastillo Wrote: So to better understand the documentation for flashdata.. I to set a flashdata "message" for example, I need to set a session variable, them mark it as flashdata.You don't need to but you can. set_flashdata() does exactly the same thing as your second example, but in a slightly more roundabout way. set_flashdata() is very handy when you want to use an array to set multiple flash items in one call. Quote:So when I want to view my flashdata I need to You can but that's not the only option. You can also use ether of these PHP Code: $var = $_SESSION['message']; What won't work is PHP Code: $var = $this->session->userdata('message') ; I don't know why flash data is excluded. (Well, I know how it is excluded but not the reasoning for doing it.) Quote:Does this mean, the "mark_as_flash" function remove's the "_SESSION['MESSAGE']" variable from my sessions array? Not immediately. It means that the "$_SESSION['message']" value will only be present for the next request to the site. It will be removed after that. It's a one-time deal. |