В куске кода под надписью
/* если пользователю до сих пор удалось геройски избежать ошибок, делается проверка через базу так же, как и на входе. */
запрос делается в $check_result, а кол-во строк смотрится почему-то в $user_result.
Или я что-то упустил?