$session API variable / Session class

Maintains sessions in ProcessWire, authentication, persistent variables, notices and redirects.

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Session class also inherits all the methods and properties of: Wire.

Show $var?             Show args?        

Common

NameReturnSummary 
$session->CSRF()
SessionCSRFReturn an instance of ProcessWire’s CSRF object, which provides an API for cross site request forgery protection.
Can also be used as property: $session->CSRF
 
$session->get($key)
mixedGet a session variable 
$session->getAll()
arrayGet all session variables in an associative array 
$session->getAllFor($ns)
arrayGet all session variables for given namespace and return associative array 
$session->getFor($ns, string $key)
mixedGet a session variable within a given namespace 
$session->getHistory()
arrayGet the session history (if enabled) 
$session->getIP()
string intGet the IP address of the current user (IPv4) 
$session->getIterator()
ArrayObjectAllow iteration of session variables 
$session->getVal(string $key)
mixedGet a session variable or return $val argument if session value not present 
$session->getValFor($ns, string $key)
mixedGet a session variable or return $val argument if session value not present 
$session->hasCookie()
boolAre session cookie(s) present? 
$session->redirect(string $url)
(nothing)Redirect this session to another URL.
$session->remove($key)
$thisUnset a session variable 
$session->removeAllFor($ns)
$thisRemove all session variables in given namespace 
$session->removeFor($ns, string $key)
$thisUnset a session variable within a namespace 
$session->set($key, $value)
$thisSet a session variable 
$session->setFor($ns, string $key, mixed $value)
$thisSet a session variable within a given namespace 

Authentication

Additional methods and properties

In addition to the methods and properties above, Session also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.148

Twitter updates

  • ProcessWire 3.0.153 (dev) focuses on comments field updates, significant refactoring/improvements to ProcessWire’s core Template class and PagesLoader class (which is used by the pages API variable), and we introduce a useful new pages API method— More
    20 March 2020
  • ProcessWire 3.0.152 core updates— This week we have some major improvements to our core date/time Inputfield, as well as a new ability to specify your own custom classes for Page objects— More
    6 March 2020
  • This week we’ve got a couple of really useful API-side improvements to the core in 3.0.151, including predefined image settings and static language translation improvements— More
    21 February 2020

Latest news

  • ProcessWire Weekly #307
    In the 307th issue of ProcessWire Weekly we're going to check out the latest dev branch updates, introduce some new third party modules, and more. Read on!
    Weekly.pw / 28 March 2020
  • ProcessWire 3.0.153 core updates
    This latest version of the core on the dev branch focuses on comments field updates, significant refactoring/improvements to ProcessWire’s core Template class and PagesLoader class (which is used by the $pages API variable), and we introduce a useful new $pages API method.
    Blog / 20 March 2020
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK