3 cose:
sotto session_start(); deve esserci session_regenerate_id()
isset($_SESSION['key']) deve essere array_key_exists('key', $_SESSION) && !empty($_SESSION['key'])
usa setlocale(LC_ALL, "it_IT") invece di quell'ambaradam sui nomi dei mesi
+1 edit
$pg = $_POST['pg'];
$pass = $_POST['pass'];
e` insicuro;
puoi usare extract su $_POST
cerca su google "sanitize data to prevent sql injection attacks"
Vedi che il problema che hai e` l'ultimo dei problemi che hai alla fine..