У тебя в голове очень странная идея, что ислючения бываю только те, которые ты сам выбросил.
И что их надо обязательно поймать.
Понятно что для процедурного кода состоящего из двух функций, поймать исключение на месте почти равнозначно глобальному обработчику ошибок.
Но если подумать головой, и понять что исключение может возникнуть в любом месте программы, то надо позаботиться о глобальном обработчике ошибок. И тогда не нужно будет на каждый чих писать трай кетч.
для этого у тебя должен быть обработчик ошибок.
если у тебя какой-то из классов будет не найден, или база например сдохнет - что пользователь увидит?
а чем эта ситуация от выброшенного руками исключения?
чтобы тупо залогировать ошибку трай кетч не нужен.
$_SESSION - это переменная. Обычный массив.
Обращаться к нему так же, как к любому другому массиву. Но мы не знаем, в каком конкретно элменте этого массива у тебя лежит айди юзера. Этот вопрос уже не относится к РНР, а относится к структуре твоего приложения.
МЫ НЕ ЗНАЕМ в какой переменной у тебя хранится нужное значение.
поэтому бессмысленно нас спрашивать, из какой переменной тебе его получить.
И бессмысленно нас спрашивать как подставить его в запрос - ты это и так знаешь.
Старайся думать над своими проблемами и формулировать вопросы корректно
я пониимаю зачем ввод.
я спросил, зачем что-то вырезать, фильтровать?
зачем удалять теги? зачем удалять таким кривым способом пробелы? чем trim() не устраивает?
значит проверяй почему не пишется
или где-то ты его перезаписываешь.
проверяй сразу после авторизации