Salut,
tu peux pour te passer du champ "valide" (qui contient je suppose le code d'activation) ne laisser qu'un champ "valide" de type TYNINT qui contiendra 0 ou 1 (0 le compte n'est pas activé, 1 il l'est). ça prendra déjà moins de place et ce sera plus rapide en cas de requêtage.
Ensuite pour le code d'activation :
tu n'as qu'à te baser sur l'id membre et sur un md5 que tu génèreras mettons entre son login, son pass, etc... (une combinaison du login, pass que tu es seul à connaître)
Ensuite lorsque le membre se connecte :
inscription?id_membre=id&validation=dkjzshfiuozehuio7865gtft56564FGtf
ensuite tu sélectionnes les infos pseudo, passe via une requête en cas d'activation, si la combinaison du pseudo, passe et d'un md5 est égale au md5 de l'url bah c'est gagné, tu actives le compte :-)
ce n'est qu'une proposition bien sûr hein...