The form "have got" is british, that is, used in british English, while
"have" is american. That is one of the "many" differences found between
"british" and "american" English. Maybe, nobody told you that when you
were learning English.
Max Marcano
Venezuela