Выполняется PHP 7.x
Я использую несколько массивов $ _SESSION следующим образом:
$_SESSION['form_data']['form_field'] = $data;
Существует несколько полей 'form_field' для каждый 'form_data'.
Этот $ _SESSION устанавливается только если данные формы были изменены. Как я могу установить $ _SESSION в NULL, если он пуст, без необходимости go через каждый из них в отдельности?
Я пробовал $ _SESSION ['form_data'] = NULL; Но, похоже, это не сработает.
Если $ _SESSION ['form_data'] ['form_field'] находится на странице без специальной настройки, выдается предупреждение.
Я знаю, что могу скрыть предупреждения без проблем, но я бы предпочел найти правильный способ сделать это. Или правильно скрывает предупреждение?
Спасибо, Рик
+++++++++++++++++++++++++ ++++++ РЕДАКТИРОВАТЬ ДОБАВИТЬ ДОБАВИТЬ КОД +++++++++++++++++++++++++++++++
//Displays original data from database unless new data was submitted in form
function display_form_value($orig_data = NULL, $new_data = NULL) {
if(trim($new_data) != NULL) {
return $new_data;
} else {
return $orig_data;
}
}
На моей странице обработки формы:
$defineTopLink = $_POST['defineTopLinkFollow_1']; //Add'l security removed for clarity
if($defineTopLink != $define['TopLink']) {
//$define['TopLink'] is a value pulled from the database
$_SESSION['form_data']['defineTopLink'] = $defineTopLink; }
else {
$_SESSION['form_data']['defineTopLink'] = "";
}
На странице формы
<input
id="defineTopLink_1"
name="defineTopLink_1"
type="text"
value="<?= display_form_value($define['TopLink'], $_SESSION['form_data']['defineTopLink']) ?>" />