Simple. You need to beat the gym leader in Eterna City. She is only the second gym leader and her Pokemon are fairly easy.
-piplup (for gym 1) -starly (for gym 2 and 4) -ponyta (for gym 2, 6 and 7) or houndoor (available for gym 6 and 7) ponyta (catch in top of oreburgh city grass) / houndoor (catch outside lake valor grass) -shinx (for gym 3 and 5) -gible (for gym 8) -munchlax (additional) or other
You dont have enough gym badges.
In Pokemon Pearl version you fight the gym leader Norman. Pearl version is apparently not a legitimate version of the game and you will not be able to get into his gym due to a bug.
The Hearthome City gym is a Ghost-type gym which is the 5th gym in Diamond and Pearl and the 3rd gym in Platinum. The gym leader is Fantina, who uses a Drifblim, Gengar, and Mismagius in Diamond and Pearl and a Duskull, Haunter, and Mismagius in Platinum. Defeating her gets you the Relic Badge.
you catch ponyta after the second gym. the grass-type gym.
you can just use water, ice, or fighting types
in eterna city
you should deffinetly have a ponyta if you chose turtwig or piplup. BY now You should have a ponyta level 38 Mistreavus level 38 Torrterra/Empoloeon level 40 Roseila 37 Staraptor 39 and a Hm slave i suggest bibarrel Any level.
gardenia - grass type
go to enterna city
There isn't a second encounter with gym leaders
Find ALL the trainers beat them all, and then fight the Gym Leader at the front.
eterna city gym leader gardenia she uses grass types
the only fire Pokemon you can get before the second gym is cyndaquil, the starter
just go and beat it! you need a fire or flying type Pokemon to beat that gym b/c if you started out with piplup or turtwig you might have trouble. you can catch ponyta or starly and train them to at least lv 17 make sure your ponyta knows ember it makes life easy.
You must have 4 badges before you are allowed to challenge the Hearthome City Gym.