Для того, чтобы код работал, необходимо импортировать переменную $db из глобальной области видимости.
function login($name, $password)
{
global $gb;
$mysqli= $db->connect();
}
Чуть более правильным вариантом будет явное указание зависимости вашего класса от базы данных:
class user {
private $db;
public function __construct(DataBase $db)
{
$this->db = $db;
}
public function login($name, $password)
{
$mysqli = $this->db->connect();
}
}
// Инициализация класса будет выглядеть так:
$user = new user($db);
$user->login();
PS Судя по коду, вы пытаетесь использовать какие-то устаревшие справочные материалы. Пожалуйста, ознакомьтесь с
getjump.me/ru-php-the-right-way