$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->location(string $url)
(nothing)Perform a temporary (302) redirect 
$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.168

Twitter updates

  • There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new—More
    20 November 2020
  • ProcessWire 3.0.168 core updates — More
    26 October 2020
  • This week a 2nd new module for processing Stripe payments has been added to FormBuilder. Unlike our other Stripe Inputfield, this new one supports 3D Secure (SCA) payments. We’ll take a closer look at it in this post, plus a live demo— More
    16 October 2020

Latest news

  • ProcessWire Weekly #341
    In the 341st issue of ProcessWire Weekly we're going to check out the latest processwire.com blog post, introduce upcoming commercial module called NiftyPasswordsPlus, and check out a brand new site of the week. Read on!
    Weekly.pw / 21 November 2020
  • New ProcessWire modules directory
    There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new.
    Blog / 20 November 2020
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer