Когда выполняется isset(), выполняется следующая проверка $_SESSION['mat'] == "1" или вторая проверка напрямую пропускается, так как первая ложная?
Есть ли у меня сомнения?
if (isset($_SESSION['mat']) and $_SESSION['mat']= = "1"){}






Если первая часть вашего оператора if уже возвращает false, вторая часть не будет оцениваться. Таким образом, ваш оператор if выглядит хорошо и не должен вызывать никаких ошибок индекса.
When the isset is executed the following check is executed ($ _ SESSION ['mat'] == "1") or the second verification is directly skipped since it is the first false.
isset() проверит, установлена ли переменная, иначе вернет false. Весь код внутри оператора if () будет выполнен, поэтому в вашем случае, если переменная массива $_SESSION не установлена, второй элемент управления, в вашем случае and (который также может быть выражен с помощью &&), будет пропущен.