Приносим извинения, если это глупый вопрос, но я изучаю PHP прямо сейчас, и у меня возникла проблема с выполнением проверки isset для значения $ _POST, которое может существовать или не существовать в зависимости от того, отправил ли пользователь форму или нет .
Если я сделаю следующее вне контекста цикла foreach, я получу сообщение с неопределенным индексом (когда форма еще не отправлена), как я и ожидал:
if ($_POST['dorm'] == "somethingrandom"){ ... }
Насколько я понимаю, я получаю эту ошибку, потому что значение $ _POST не существует, и мне нужно запустить его с помощью проверки isset () или! Empty () вместо того, чтобы просто предполагать, что оно существует. Но если у меня есть точно такой же код внутри цикла foreach, я не получаю сообщение об ошибке:
<form action="test.php" method="post">
<select name="dorm">
<?php foreach ($DORMS as $dorm){
if ($_POST['dorm'] == $dorm){
echo "<option selected value=\"$dorm\">$dorm</option>";
} else {
echo "<option value=\"$dorm\">$dorm</option>";
}
}
?> // end php tag
</select>
</form>
Опять же, приведенный выше код не создает ошибок, хотя я не выполняю никаких проверок isset () или! Empty (). Мне просто интересно, является ли это ожидаемым поведением, и если да, то почему?
Будем признательны за любые разъяснения! Спасибо.