un'area riservata si gestisce tramite le sessioni.
Le sessioni mantengono uno "stato" tra le varie richieste, poiché nel protocollo http ogni richiesta fa storia a sé.
Le sessioni sono memorizzate lato server, ma devono essere associate a un client: lo si fa o tramite cookie, o tramite un parametro in query string (di solito la seconda opzione si usa quando la prima non è disponibile).
Per la seconda domanda (ma forse era meglio un topic a parte), puoi trovare ovunque delle espressioni regolari per validare la sintassi di un'email