========================================
SETTINGS LINK FIX - IMMEDIATE ACTIONS
========================================
🐛 PROBLEM: Settings menu not clickable
========================================
QUICK FIX STEPS
========================================
1. VERIFY FILE IS UPDATED ON SERVER
-------------------------------
Check that includes/header.php on your web server
has been updated with the fixed code.
File to check: includes/header.php
Lines: 65-75
2. HARD REFRESH YOUR BROWSER
--------------------------
Clear cached files:
Windows/Linux: Ctrl + Shift + R
Mac: Cmd + Shift + R
Or clear browser cache completely
3. RUN DIAGNOSTIC PAGE
-------------------
Access this URL in your browser:
https://your-site.com/diagnose-settings.php
This will show:
- Your user role
- Whether Settings link should appear
- Direct test links
- File verification
- HTML code check
========================================
EXPECTED HEADER.PHP CODE (LINES 65-75)
========================================
Users
Settings
Audit Logs
========================================
VERIFICATION CHECKLIST
========================================
□ Latest header.php uploaded to server
□ Browser cache cleared (Ctrl+Shift+R)
□ User account has role = 'admin' in database
□ Logged out and logged back in
□ Ran diagnose-settings.php page
□ Checked browser console for errors (F12)
========================================
COMMON CAUSES
========================================
1. OLD CACHED FILE
Browser still loading old header.php
FIX: Hard refresh (Ctrl+Shift+R)
2. FILE NOT UPLOADED
Server still has old header.php
FIX: Re-upload includes/header.php
3. WRONG ROLE
User account not set as 'admin'
FIX: Update database user role
4. SESSION CACHE
Old session still loaded
FIX: Logout and login again
5. CSS ISSUE
Styles preventing clicks
FIX: Check browser inspector (F12)
========================================
DATABASE CHECK
========================================
Check your user role in database:
mysql -u root -p risk_assessment_db
SELECT id, username, full_name, role
FROM users
WHERE username = 'admin';
Expected: role = 'admin'
If not 'admin', update:
UPDATE users
SET role = 'admin'
WHERE username = 'admin';
========================================
DIRECT ACCESS TEST
========================================
Try accessing Settings directly:
https://your-site.com/settings.php
If this works but menu doesn't:
→ Issue is with navigation display
→ Run diagnose-settings.php
If this doesn't work:
→ Check file exists on server
→ Check authentication/permissions
========================================
FILES PROVIDED
========================================
1. includes/header.php (FIXED)
- Proper HTML structure
- Settings link functional
2. public/diagnose-settings.php (NEW)
- Diagnostic tool
- Shows all info needed to troubleshoot
3. This guide (SETTINGS_LINK_FIX_SUMMARY.txt)
- Quick reference
- Step-by-step troubleshooting
========================================
NEED MORE HELP?
========================================
If Settings link still doesn't work after:
✓ Uploading latest header.php
✓ Hard refreshing browser
✓ Logging out and back in
Then run the diagnostic page:
→ /diagnose-settings.php
And check these in browser (F12):
→ Console tab: Any JavaScript errors?
→ Network tab: Is header.php loading?
→ Elements tab: Is Settings link in HTML?
========================================