Puedes usar también la funcion trim() (que quita espacios y saltos de línea al principio o al final de una cadena). Con eso ya evitarías el caso de "sólo espacios".
También puedes usar expresiones regulares para ver si tu cadena cumple tu formato dado .. por ejemplo "[0-9A-Z]" (para admitir sólo numeros y letras de la A a la Z).
http://www.php.net/eregi
Un manual sobre expresiones regulares:
http://www.ignside.net/man/php/regex.php
Un saludo,