tl, dr: if (isset ($ _ SESSION ["school"])) == true, то работает, в противном случае - нет.
Итак, на моей главной странице есть раскрывающееся меню, в котором задается $ _SESSION ["school"], если пользователь решает, что ему нужно больше информации о своем местном филиале. Затем я хочу убедиться, что они правильно настроены при регистрации. Итак, у меня есть выпадающее меню, которое отображает $ _SESSION ["school"], если оно существует, а затем отображает все ветви ниже на случай, если их нужно изменить. Когда $ _SESSION ["school"] не существует, я хочу, чтобы он отображал только список школ и не обращал внимания на $ _SESSION ["school"].
Однако, что происходит с этим кодом, если задано значение $ _SESSION ["school"], информация попадает в базу данных, даже если вы изменили раскрывающийся список во время регистрации. Если $ _SESSION ["school"] не задано, информация никогда не попадает в базу данных даже при ее настройке во время регистрации. Что еще интереснее, у меня есть проверка этого пробела, что означает, что страница распознает, что меню! = "" ... информация просто не попадает в базу данных, если $ _SESSION ["school"] не имеет был ранее установлен. Я думаю, что приведенный ниже код является релевантным кодом, потому что именно здесь я использую $ _SESSION ["school"] для установки опции меню, но я могу опубликовать некоторые другие части, если вам это нужно.
schoolsList.php
<?php
if(isset($_SESSION['school']) && $_SESSION['school']==true) {
echo
'<option value="'.$_SESSION["school"].'">'.$_SESSION["school"].'</option>';
}
echo
'<option value=""></option>
<option value="Indiana University">Indiana University</option>
<option value="Purdue University">Purdue University</option>';
?>
в моей форме:
<select
class="school"
id="school"
name="school"
>';
include "schoolsList.php";
echo
'</select>';