diff --git a/__pycache__/footballHelper.cpython-39.pyc b/__pycache__/footballHelper.cpython-39.pyc
index 403d23c4c0b7fcbda0023817875c0151022de3ac..45df375cd10c5d416652562e4d21759efd3148a7 100644
Binary files a/__pycache__/footballHelper.cpython-39.pyc and b/__pycache__/footballHelper.cpython-39.pyc differ
diff --git a/main.py b/main.py
index ece0aeff9d777306b48a34296f825879a785592e..e60ae170de8a52322b1e81157b6313ba8c5b1734 100644
--- a/main.py
+++ b/main.py
@@ -37,6 +37,12 @@ mysql.init_app(app)
 
 @app.route('/', methods=['GET', 'POST'])
 def index():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False
     # Cursor
     conn = mysql.connect()
     cursor = conn.cursor(pymysql.cursors.DictCursor)
@@ -92,7 +98,7 @@ def index():
         return redirect('/playerSearch')
 
     # Base render
-    return render_template('homepage.html', players=players)
+    return render_template('homepage.html', players=players, loggedIn=loggedIn, isAdmin=isAdmin)
 
 # db access for searching player
 
@@ -134,7 +140,15 @@ def request_player(playerName):
 # All players page
 @app.route('/players', methods=['GET', 'POST'])
 def players():
-    # all players list
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False
+    
+    
+     # all players list
     players = []
 
     # Get all players from the session
@@ -150,11 +164,17 @@ def players():
         # Redirect user to the next page
         return redirect('/playerSearch')
 
-    return render_template('players.html', allPlayers=players)
+    return render_template('players.html', allPlayers=players,loggedIn=loggedIn, isAdmin=isAdmin)
 
 # Individual player page
 @app.route('/playerSearch')
 def playerSearch():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False  
     # Get all data of the player from the session (set on home page)
     player = Player(session['playerData'])
 
@@ -177,11 +197,17 @@ def playerSearch():
     return render_template('playerSearch.html', player=player,
                            playerPrediction=playerPrediction, transferValue=f"{player.value:.0f}k",
                            sizes=json.dumps(sizes), data1=json.dumps(playerGame_results),
-                           data2=json.dumps(game_averages), labels=json.dumps(labels), xlabels=json.dumps(x_labels))
+                           data2=json.dumps(game_averages), labels=json.dumps(labels), xlabels=json.dumps(x_labels),loggedIn=loggedIn, isAdmin=isAdmin)
 
 
 @app.route('/playerCompare', methods=('GET', 'POST'))
 def playerCompare():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False   
     # Empty array for all players
     players = []
 
@@ -189,10 +215,16 @@ def playerCompare():
     for player in session['allPlayerData']:
         players.append(Player(player))
 
-    return render_template('playerCompare.html', players=players)
+    return render_template('playerCompare.html', players=players,loggedIn=loggedIn, isAdmin=isAdmin)
 
 @app.route('/playerComparison', methods=('GET', 'POST'))
 def playerComparison():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False
     # Checks if both players have been selected
     if request.method == 'POST' and 'playerOne' in request.form and 'playerTwo' in request.form:
         
@@ -228,15 +260,17 @@ def playerComparison():
                            transferValueOne=f"{playerOne.value:.0f}k", transferValueTwo=f"{playerTwo.value:.0f}k",
                            sizesOne=json.dumps(sizesOne), sizesTwo=json.dumps(sizesTwo), dataOne1=json.dumps(playerOneGame_results),
                            dataTwo1=json.dumps(playerTwoGame_results),data2=json.dumps(game_averages), 
-                           labels=json.dumps(labels), xlabels=json.dumps(x_labels), zip=zip)
+                           labels=json.dumps(labels), xlabels=json.dumps(x_labels), zip=zip, loggedIn=loggedIn, isAdmin=session['isAdmin'])
 
 
 @app.route('/login', methods=['GET', 'POST']) # Login Page
 def login():
     try:
         loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
     except:
         loggedIn = False
+        isAdmin = False
     #connection to database 
     conn = mysql.connect()
     cursor = conn.cursor(pymysql.cursors.DictCursor)
@@ -282,40 +316,48 @@ def login():
                 msg = 'Incorrect username or password'
         else:
             msg ='Incorrect username or password'
-    return render_template('login.html', msg = msg, loggedIn=loggedIn)
+    return render_template('login.html', msg = msg, loggedIn=loggedIn, isAdmin=isAdmin)
 
 
 @app.route('/profile', methods=('GET', 'POST'))
 def profile():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False
     conn = mysql.connect()
     cursor = conn.cursor(pymysql.cursors.DictCursor)
 
-    print(session['loggedin']) # Booo-lay-ann Value if user is logged in or not 
-    print(session['loggedInID']) # Users Username
-    print(session['Email']) # Users Email
-    print(session['isAdmin']) # Booo-lay-ann Value if user is admin
-
-    players = []
-
-    cursor.execute("SELECT * FROM Favorites WHERE User = %s", session['loggedInID'])
-    totalFav = cursor.fetchall()
-    # Get all players from the session
-    #for player in session['allPlayerData']:
-        #players.append(Player(player))
-
-    for row in totalFav:
-        for player in session['allPlayerData']:
-            if player['PlayerName'] == row['Player']:
-                players.append(Player(player))
-    # redirecting to specific player
-    if request.method == 'POST' and 'playerName' in request.form:
-        # Get the name from user's input
-        playerName = request.form['playerName']
-        # request the player
-        session['playerData'] = request_player(playerName)
-        # Redirect user to the next page
-        return redirect('/playerSearch')
-    return render_template('loginSuccess.html', allPlayers=players)
+    #print(session['loggedin']) # Booo-lay-ann Value if user is logged in or not 
+    #print(session['loggedInID']) # Users Username
+    #print(session['Email']) # Users Email
+    #print(session['isAdmin']) # Booo-lay-ann Value if user is admin
+    if loggedIn == True:
+        players = []
+
+        cursor.execute("SELECT * FROM Favorites WHERE User = %s", session['loggedInID'])
+        totalFav = cursor.fetchall()
+        # Get all players from the session
+        #for player in session['allPlayerData']:
+            #players.append(Player(player))
+
+        for row in totalFav:
+            for player in session['allPlayerData']:
+                if player['PlayerName'] == row['Player']:
+                    players.append(Player(player))
+        # redirecting to specific player
+        if request.method == 'POST' and 'playerName' in request.form:
+            # Get the name from user's input
+            playerName = request.form['playerName']
+            # request the player
+            session['playerData'] = request_player(playerName)
+            # Redirect user to the next page
+            return redirect('/playerSearch')
+        return render_template('loginSuccess.html', allPlayers=players,loggedIn=loggedIn, isAdmin=isAdmin)
+    else:
+        return redirect(url_for('login'))
 
 @app.route('/logout')
 def logout():
@@ -399,49 +441,59 @@ def removeFave(x):
 
 @app.route('/admin', methods=('GET','POST'))
 def admin():
+    try:
+        loggedIn = session['loggedin']
+        isAdmin=session['isAdmin']
+    except:
+        loggedIn = False
+        isAdmin = False
+    
+    if isAdmin == True:
+        # all players list
+        players = []
 
-    # all players list
-    players = []
-
-    # Get all players from the session
-    for player in session['allPlayerData']:
-        players.append(Player(player))
+        # Get all players from the session
+        for player in session['allPlayerData']:
+            players.append(Player(player))
 
 
-    if request.method == 'POST':
-        player = request.form['playerName']
-        operation = request.form['submit']
+        if request.method == 'POST':
+            player = request.form['playerName']
+            operation = request.form['submit']
 
-        conn = mysql.connect()
-        cursor = conn.cursor(pymysql.cursors.DictCursor)
+            conn = mysql.connect()
+            cursor = conn.cursor(pymysql.cursors.DictCursor)
 
-        cursor.execute("SELECT * FROM Players WHERE PlayerName = %s;", (player))
-        foundPlayer = cursor.fetchall()
-        foundPlayer = foundPlayer[0]
+            cursor.execute("SELECT * FROM Players WHERE PlayerName = %s;", (player))
+            foundPlayer = cursor.fetchall()
+            foundPlayer = foundPlayer[0]
 
-        cursor.execute("SELECT * FROM Teams WHERE TeamName = %s;", (foundPlayer['currentTeam']))
-        foundTeam = cursor.fetchall()
-        foundTeam = foundTeam[0]
+            cursor.execute("SELECT * FROM Teams WHERE TeamName = %s;", (foundPlayer['currentTeam']))
+            foundTeam = cursor.fetchall()
+            foundTeam = foundTeam[0]
 
-        foundPlayer.update(foundTeam)
+            foundPlayer.update(foundTeam)
 
-        tempDOB = foundPlayer['DateOfBirth']
+            tempDOB = foundPlayer['DateOfBirth']
 
-        foundPlayer['teamLocation'] = foundPlayer['Location']
-        foundPlayer['teamManager'] = foundPlayer['Manager']
-        foundPlayer['DateOfBirth'] = foundPlayer['DateOfBirth'].strftime('%d/%m/%Y')
-        foundPlayer['startContract'] = foundPlayer['startContract'].strftime('%d/%m/%Y')
+            foundPlayer['teamLocation'] = foundPlayer['Location']
+            foundPlayer['teamManager'] = foundPlayer['Manager']
+            foundPlayer['DateOfBirth'] = foundPlayer['DateOfBirth'].strftime('%d/%m/%Y')
+            foundPlayer['startContract'] = foundPlayer['startContract'].strftime('%d/%m/%Y')
 
-        player = Player(foundPlayer)
-        player.dateOfBirth = tempDOB
+            player = Player(foundPlayer)
+            player.dateOfBirth = tempDOB
 
-        cursor.close()
-        conn.close()
+            cursor.close()
+            conn.close()
 
-        return render_template('adminFunction.html', player=player, operation=operation)
-        
+            return render_template('adminFunction.html', player=player, operation=operation,loggedIn=loggedIn, isAdmin=isAdmin)
+            
 
-    return render_template('admin.html', players=players)
+        return render_template('admin.html', players=players)
+    else:
+        print("User is not an admin")
+    return render_template('homepage.html')
 
 
 @app.route('/modifyPlayer', methods=('GET', 'POST'))
diff --git a/static/styles/navbar.css b/static/styles/navbar.css
index f377df9e02cc2a03abf8c64fc4c80884875f7a75..1397efa14c2a5b5f1f902261c6a834f7f0f3d0b9 100644
--- a/static/styles/navbar.css
+++ b/static/styles/navbar.css
@@ -24,3 +24,7 @@ img {
     width: 70%;
     height: 70%;
 }
+.nav-masthead .active {
+    color: #fff;
+    border-bottom-color: #fff;
+    }
diff --git a/templates/base.html b/templates/base.html
index 2eae7594e4e310f13b855982afcebfe363502e1f..18360977316a7750cb44828f7592b6bc54d98dca 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -15,16 +15,30 @@
         <!-- Navbar Implementation -->
         <nav class="navbar">
             <div class="navbar-nav">
+              <nav class="nav nav-masthead justify-content-center float-md-end">
               <a class="nav-item nav-link px-2" href="/">Home</a>
               <a class="nav-item nav-link px-2" href="/players">Players</a>
               <a class="nav-item nav-link px-2" href="/playerCompare">Player Comparison</a></div>
             <div  class="navbar-nav ms-auto">
-              <a class="nav-item nav-link px-2" href="#">Admin</a>
-              <a class="nav-item nav-link px-2" href="/login">Login</a>
-            </div>
-      </nav>
+              <nav class="nav nav-masthead justify-content-center float-md-end">
+
 
+              
+              {%if loggedIn == False%}
+                <a class="nav-item nav-link px-2" href="/login">Login</a>
+              {%endif%}
+              {%if loggedIn == True%}
+                <a class="nav-item nav-link px-2" href="/profile">Profile</a>
+              {%endif%}
+              {%if isAdmin == True%}
+              <a class="nav-item nav-link px-2" href="/admin">Admin</a>
+              {%endif%}
+              {%if loggedIn == True%}
+              <a class="nav-item nav-link px-2" href="/logout">Logout</a>
+              {%endif%}
 
+            </div>
+      </nav>
         <!-- All other pages use the content block to put page content onto the template -->
         <div class="container">
         {% block content %}
@@ -35,4 +49,5 @@
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
 
   </body>
+
   </html>
\ No newline at end of file
diff --git a/templates/playerSearch.html b/templates/playerSearch.html
index f96f1816d61f54abf769d11771126918206b99fe..48ae09fe3b365d90de4111c3eb719a5b5c19c3ed 100644
--- a/templates/playerSearch.html
+++ b/templates/playerSearch.html
@@ -18,10 +18,12 @@
                       </div>
                       <p style="padding-top: 20%;">Date Of Birth/Age: {{player.dateOfBirth}} ({{player.age}})</p>
                       <p>Gender: {{player.gender}}</p>
+                      {%if loggedIn == True%}
                       <form id="cancelForm" action="/profile" method="post">
                         <button type="submit" onclick="addNew('{{player.name}}')" class="btn btn-success"
                           data-bs-toggle="...modal" data-bs-target=".#exampleModal">Add Favorites</button>
                       </form>
+                      {%endif%}
                       </div>
                   </div>