CodeIgniter - Flashdata
Flashdata
While
building
web
application,
we
need
to
store
some
data
for
only
one
time
and
after that
we
want
to
remove
that
data.
For
example,
to
display
some
error
message
or information
message.
In
PHP,
we
have
to
do
it
manually
but
CodeIgniter
has
made
this job
simple
for
us.
In
CodeIgniter,
flashdata
will
only
be
available
until
the
next
request, and it will get deleted automatically.
Add
Flashdata
We can simply store flashdata as shown below.
$this->session->mark_as_flash('item');
· mark_as_flash() function is used for this purpose, which takes only one argument
of
the
value
to
be
stored.
We
can
also
pass
an
array
to
store
multiple values.
· set_flashdata() function
can
also
be
used,
which
takes two
arguments,
name and value, as shown below. We can also pass an array.
$this->session->set_flashdata('item','value');
Retrieve Flashdata
Flashdata
can
be
retrieved
using
the
flashdata()
function
which
takes
one
argument
of the
item
to
be
fetched
as
shown
below.
flashdata()
function
makes
sure
that
you
are getting only flash data and not any other data.
$this->session->flashdata('item');
If you do not pass any argument, then you can get an array with the same function.
Example
Create a class called FlashData_Controller.php and save it at application/controller/FlashData_Controller.php.
<?php
class FlashData_Controller
extends
CI_Controller
{
public function
index()
{
//Load session
library
$this->load->library('session');
//redirect
to
home
page
$this->load->view('flashdata_home');
}
public function
add(){
//Load session
library
$this->load->library('session');
$this->load->helper('url');
//add flash
data
$this->session->set_flashdata('item','item-value');
//redirect
to
home
page redirect('flashdata');
}
}
?>
Create a view file called flashdata_home.php and save it in application/views/ flashdata_home.php
<!DOCTYPE
html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CodeIgniter
Flashdata
Example</title>
</head>
<body>
Flash Data
Example
<h2><?php
echo
$this->session->flashdata('item');
?></h2>
<a href='flashdata/add'>Click
Here</a>
to
add
flash
data.
</body>
</html>
Make the
changes
in
the
routes.php file
in
application/config/routes.php and
add the following line at the end of the file.
$route['flashdata']
=
'FlashData_Controller';
$route['flashdata/add']
=
'FlashData_Controller/add';
Execute
the
above
example
by
visiting
the
following
link.
Replace
the
yoursite.com
with the URL of your site.
http://yoursite.com/index.php/flashdata
After visiting the above URL, you will see a screen as shown below.
Figure: Flashdata Example
Click
on
“Click Here” link
and
you
will
see
a
screen
as
shown
below.
Here,
in
this screen
you
will
see
a
value
of
flash
data
variable.
Refresh
the
page
again
and
you
will see a screen like above and flash data variable will be removed automatically.
Comments
Post a Comment