SessionStore Action

This action stores the form in the user's session object so that it can be accessed in subsequent requests - e.g. after a redirect.

Example

This example stores the the form data in the session and redirects the user to a confirmation page where the user's email address is displayed.

Controller

<?phpuse Uniform\Form;return function ($kirby){    $form = new Form([        'email' => [            'rules' => ['required', 'email'],            'message' => 'Please enter a valid email address',        ],    ]);    if ($kirby->request()->is('POST')) {        $form->sessionStoreAction(['name' => 'user-form']);        if ($form->success()) {            go('confirmation');        }    }    return compact('form');};

Template

<form method="POST">    <input name="email" type="email" value="<?php echo $form->old('email') ?>">    <?php echo honeypot_field() ?>    <?php echo csrf_field() ?>    <input type="submit" value="Subscribe"></form>

Confirmation Page Template

<?php if (kirby()->session()->get('user-form')): ?>    Thank you <?php echo kirby()->session()->get('user-form')->data('email'); ?> for subscribing.<?php endif; ?>

Options

name

The name of the session key the form will be stored in. Defaults tosession-store.