Можно ли использовать переменную сеанса, а затем отключить ее непосредственно после?
Пример:
//====
//Process Form
if ($_POST['Submit']) {
$update = $userSettings->update($_POST);
//If there are form errors
if (!$update) {
//Load the errors into an array
$errors = $update[1];
} else {
//Set the session
$_SESSION['showUpdated'] = true;
//Redirect to this page
header("Location: http://www.mysite.com/settings");
}
}
//==================
if ($_SESSION['showUpdated']) {
echo "Settings Updated";
unset($_SESSION['showUpdated'];
}
Итак, после отправки формы, если ошибок нет:
- Установите сеанс, чтобы заявить, что форма была в порядке
- Перезагрузите страницу (чтобы предотвратить повторно отправленные данные POST)
- Если установлена переменная сеанса showUpdated, отобразите сообщение "Обновлено"
- Отмените переменную сеанса (поэтому мы не увидим сообщение при следующей перезагрузке)
В настоящее время проблема заключается в том, что вы сразу же отключили переменную сеанса; Это как если бы вы не установили его перед частью "если есть".
Любые решения? Это даже лучший способ сделать это?
Большое спасибо!