Is it correct to say have you had a std or an STD?

The correct way to say it is "have you had an STD." "STD" is an acronym for "sexually transmitted disease," so it should be preceded by the indefinite article "an."

HPV - Related Articles