<?php
define('FIELDS', ['name', 'address', 'city']);
define(
'HTML_FIELD_FORM',
<<<'HTML'
<h2>%1$s</h2>
<form method="post" autocomplete="off">
<input type="text" name="%1$s" autocomplete="off" placeholder="%1$s"><br>
<input value="submit" type="submit">
</form>
HTML
);
define(
'HTML_CLEAR_FORM',
<<<'HTML'
<form method="post" autocomplete="off">
<input type="text" name="%1$s" value="1" hidden><br>
<input value="%1$s" type="submit">
</form>
HTML
);
foreach (FIELDS as $field) {
if (isset($_POST[$field])) {
// Set session & cookie from post
$_SESSION[$field] = $_POST[$field];
setcookie($field, $_POST[$field]);
} elseif (isset($_COOKIE[$field])) {
// Set session from cookie
$_SESSION[$field] = $_COOKIE[$field];
} elseif (!isset($_SESSION[$field])) {
// Present individual field form
printf(HTML_FIELD_FORM, $field);
}
}
foreach (['clear_session', 'clear_cookies'] as $action) {
printf(HTML_CLEAR_FORM, $action);
}
- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- <h2>name</h2>
<form method="post" autocomplete="off">
<input type="text" name="name" autocomplete="off" placeholder="name"><br>
<input value="submit" type="submit">
</form><h2>address</h2>
<form method="post" autocomplete="off">
<input type="text" name="address" autocomplete="off" placeholder="address"><br>
<input value="submit" type="submit">
</form><h2>city</h2>
<form method="post" autocomplete="off">
<input type="text" name="city" autocomplete="off" placeholder="city"><br>
<input value="submit" type="submit">
</form><form method="post" autocomplete="off">
<input type="text" name="clear_session" value="1" hidden><br>
<input value="clear_session" type="submit">
</form><form method="post" autocomplete="off">
<input type="text" name="clear_cookies" value="1" hidden><br>
<input value="clear_cookies" type="submit">
</form>
preferences:
131.95 ms | 404 KiB | 89 Q