Эта конструкция небезопасна, если у программиста кривые руки.
if($rows) {
$logged = true;
} else {
$logged = false;
}
}
else {
$logged = false;
}
Статус авторизации очень критичен, и если возникает какая-нибудь ошибка в его проверке, то лучше, чтобы по умолчанию он оставался в значении "не авторизован", то есть false.
С точки зрения безопасности системы, если произойдет какая-нибудь ошибка, то пользователь лучше не дополучит свой статус, чем случайно получит уровень выше привилегий.
Поэтому до всяких проверок, инициируете состояние по умолчанию, а потом, выстрадав все проверки присваиваете true.
// Секция, где присваиваются значения по умолчанию основных переменных
$logged = false;
.....
....
// начинаем проверку
if(первое условие)
{
if(второе условие)
{
if(еще какое-то супер-пупер условие)
{
$logged = true; // вот теперь, пройдя все медные трубы, мы изменяем статус
}
}
}