Oh ouch, dude.
I have a horrible memory, so I understand how that stuff might happen. At the same time you have to be more careful. Think about if your girlfriend forgot your birthday and how you'd feel. That being said, I want to try and help a little, so instead of the usual advice, I'm going to try something a little different.
I write anything important down. Perhaps I even write it down in several places. Make sure this list doesn't get out or you'll look like a stalker, so keep it where no one will find it.
I was talking with my crush, and she gave me a lot of good information about herself, so when I got home, I wrote it all down. Before I see her next I'm reviewing that information, so that I can perhaps bring it up on a later date.
Ironically, I do a few small lectures on memory. I may feel like I'm awful at remembering, but I'd like to think these help.
1) Write their name across their forehead. No, not literally, but IN YOUR MIIND ONLY. Don't look weird doing it.
2) If you can, learn something else about them, maybe something unique. Remind yourself of something famous to associate that person with. I know someone named Moneesa. So I think of the Mona Lisa. So when I see this girl, the Mona Lisa pops into my head, and I've got it.
3) If you can't remember the name, you fudge on it the best you can.
I've taught school for ages, and in my community I end up teaching all the brothers and sisters of my current kids. When I can't remember a kid, and it's "sign in" time, I'll just ask "What letter does your name start with?" It looks as though I'm just reviewing letters with them and yet I'm giving myself a clue about who they are.
Of course, I also do this when I remember their names so that it doesn't look out of place.
5) A good question: "How do you spell your name again?" It won't work for friends or people you're supposed to know well, but it works for those you see on occasion.
6) If your in a passionate moment to where you might temporarily forget a girlfriends name (I've never done this yet, thank god! ) go with pet names. "Babe" "Beautiful." I HAVE joked how the kissing is so good, I'd forget MY OWN NAME. Big passionate kiss: (There goes the piano lessons!).
7) Like I said, write down all you can remember about that person. This helps it stick in your mind, it's still fresh information, and you also now have a backup for when you DO forget.
8) There's a way to remember up to thirty objects at a time. You make a rhyme about the number.
For axample, object one is related to a gun. Two is related to a shoe. Three is a tree. Four is a door (etc.) Ok, so imagine on page one of an magazine article that we have a picture of an ugly sweater. So you visualize yourself shooting that ugly sweater and killing it, like it's alive. Make it funny, outlandish and memorable, and you'll do even better because your remembering something unique.
If you use these tricks, you'll do a lot better. Good luck.