Concrete5 5.7 Session variable

Sessie variabelen gebruiken in Concrete5 5.7+

In 5.7+ hebben ze de $_SESSION uitgeschakeld, waardoor je niet zomaar even een sessie variabele kunt gebruiken.
Voor security hebben de ontwikkelaars een class gemaakt om deze te gebruiken.

Om de class aante roepen begin je de controller.php file met een use


<?php
use Session;

verderop in de file kan je dan een paar commando’s gebruiken zoals deze:

Session::set('mijnvar',$mijnvar);

$mijnvar=Session::get('mijnvar');

Om te testen of een variabele geset is gebruik je:

if(Session::has('mijnvar')){
//Ja hij bestaat
}

Wil je de variabele in de view.php gebruiken dan kan je deze doorgeven via een set commando, na dit commando kan je in de view.php de variabele gebruiken:

$this->set('hostid', $hostid);

Totaal wordt het dan:

controller.php

<?php
namespace ......
use Session;
class Controller extends BlockController {
public function view() {
if(Session::has('myid')){
$myid=Session::get('myid');
}else $myid=0;
$this->set('myid', $myid);
}
}

view.php

<?php
defined('C5_EXECUTE') or die("Access Denied.");
print $myid;