Ho trovato l'inghippo.
Non sapevo questa cosa di php e credo sia un bug.
Vedi che uso $_SESSION['idarticolo']=$idarticolo; ?
Praticamente vede $_SESSION['idarticolo'] come se fosse $_SESSION[$idarticolo] cambiando quindi sempre la variabile di sessione; modificando con $_SESSION["test"] è andato.
Un grazie a te perchè avevo il codice tuo e per poca voglia di riscrivere ho copiato $_SESSION["test"] XD