I have 6 gym badges. The 2 remaining gyms are in Olivine City and Black Thorn City, niether of which I know how to get to.
First you must go to the top of the lighthouse and talk to jasmine. She will ask you to get the secretpotion from the pharmacy in cianwood city and then you go to the pharmacy in cianwood city and get the secretpotion. Then you bring the secretpotion to jasmine at the top of the lighthouse and heal amphy (the ampharos) and then jasmine will thank you and tell you to meet her at her gym for a battle. You then go to her gym and she will be there for a battle.
Souce: experience and http://bulbapedia.bulbagarden.net/wiki/Glitter_Lighthouse
You have to give her the Secret Potion Key Item which can be obtained by going to the medicine shop on the island with Chuck's Gym.
Here is a walk through to see the gym leader.