Track the progress of a user using sessions or cookies. Then for the pages that you want to restrict access to, add code to check user progress and redirect (or show access denied message, whatever you want to do) if user has not reached the required progress point.
if (!isset($_SESSION['progress']) || $_SESSION['progress'] != 2) {
header('Location: /contact');
exit;
}