In Pokemon Diamond, you are not allowed to go to Leader Fantina's Gym. (Shadow Type Pokemon). So, get to Veilstone City and Battle Leader Maylene. She uses fighting type pokemon. It is the same with pearl.
In Pokemon Platinum, when you just get in, a Buneary will bump in to you and a trainer will come. She thanks you and tells you to go to the contest hall. After your mom gives you a tuxedo/dress, there is a girl in a purple dress which is Leader Fantina. She goes back to the gym, and you are available to battle her.
if you are looking for the third gym badge i suggest Veilstone city.
You can get a badge and TM Shadow Claw after beating the third available gym leader, which is Fantina with the Relic Badge. (She uses Ghost types)
I have Pokemon platinum the 3rd gym leader always their your probaly just not lucky.
Hearthome's badge
you get the coal badge after defeating Roark in eterna city
The third Gym is the Gym in Veilstone City. You can get there by looking on your map. The leader specializes in Fighting Pokemon.
in the 1st gym badge
Beat the gym
the third badge in sapphire is at mauville city(north of slateport city)
you must beat the eighth gym leader and he will give you the badge.
Once you obtain a badge it's permanently stored in the badge case.
Cobble badge