gern haben, lieb haben, lieben?
What's the difference and what is the level of affection that you are trying to express?
Ich hab dich gern. Ich hab dich lieb. Ich liebe dich.
Ich liebe dich is sort of a given, but can you substitute it for lieb haben?
"Ich hab dich gern" would be the non-romantic version, either the first step towards a more romantic involvement or, if followed by an "aber..." in words or tone, the end of it.
"Ich hab dich lieb" is very tender, eg. used by a parent towards a child. But also by lovers in a cuddling, bonding mood.
"Ich liebe dich" is the big one.
And, as always, "der Ton macht die Musik", and you might use all three for something completely different.
Ich hab dich gern - not to be confused with “du kannst mich (mal) gern haben”, which translates as “bite me!” or “f..k/p..s off” and similar expressions. This expression is fairly strong and should generally be avoided, although can be said jokingly among friends (only when you’re sure they will take it the right way, though).
This German expression is the “ polite” version of the best-known Goethe quote, which has an interesting history:
Both and similar expressions can be abbreviated to “du kannst mich mal!”