Session Handling in Concrete5 5.7
This is a community-contributed tutorial. This tutorial is over a year old and may not apply to your version of Concrete CMS.
Jul 27, 2015
In 5.6, we could do this:
$_SESSION['MySession']['sessionName'] = 'sessionValue';
In 5.7, we can do this instead:
$session = Core::make('app')->make('session');
$session->set('MySession-sessionName', 'sessionValue');
note:
\Core::make()
is deprecated
. Use app()
(since 8.5.2) or
\Concrete\Core\Support\Facade\Application::getFacadeApplication()
. See
this tutorial
for more details.
Retrieve the session:
Core::make('app')->make('session');
$session_sessionName = $session->get('MySession-sessionName');
$session->remove('MySession-sessionName'); // clear session variable
Similarly, you can display flash messages. First you can add messages like this:
$session = Core::make('app')->make('session');
$session->getFlashBag()->add('errormsg', 'This is an error message');
$session->getFlashBag()->add('errormsg', 'Another error message');
Display the messages in your view:
Core::make('app')->make('session');
foreach ($session->getFlashBag()->get('errormsg', array()) as $error) {
echo $error;
}
Read more about session management here: http://symfony.com/doc/current/components/http_foundation/sessions.html