makeitslow, en php.net tenes la referencia a todas las funciones. Digo esto, porque es más efectivo para todos buscar que hace empty ahí. Yo podré explicarlo, pero me parece redundante.
En cuanto a tu condición, ésta está bien, pero recordá luego evaluar si $_SESSION["error"] contiene algo.
En caso de ser mas de una condición no asignes con un = sino que lo ideal es hacerlo con un .= y declarar la variable antes así no te tira error, tal cual te expliqué en
este post