Bei dem bischen Code, welcher uns hier zur Verfügung steht ist das mit dem orakeln immer so eine Sache. Grundsätzlich sehe ich 2 Möglichkeiten, wieso die Variablen leer sein könnten.
Variante 1
Die Session Variablen werden beim erneuten Abfragen auf Seite 1 mit leerem Inhalt überschrieben oder geleert bzw. entfernt.
Variante 2
Auf Seite 2 machst du das gleiche wie auf Seite 1.
PHP-Code:
session_start();
$_SESSION['vid'] = getVID(...);
$_SESSION['year'] = getYear(...);
$_SESSION['vname'] = getGroup(...);
Diesmal bringt getVID() etc. aber kein Ergenbis, weil sie zu diesem Zeitpunkt noch keinen Wert haben. Somit würdest du die Session Variablen überschreiben.
Doch wie gesagt, dass sind alles nur Vermutungen.