Show sourcecode
The following files exists in this folder. Click to view.
admin.php
admin_login.php
api/
config.php
css/
db_setup.php
index.php
js/
results.php
tests/
results.php
73 lines UTF-8 Unix (LF)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
<?php require __DIR__ . '/config.php'; ?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Experimentet klart</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<h1>Tack!</h1>
<p>Du har slutfört alla tre tester. Dina resultat har sparats.</p>
<div class="results-summary" id="summary">
<!-- Populated by JS -->
</div>
<a href="index.php" class="btn btn-primary" id="new-session">Starta ny session</a>
</div>
<script src="js/common.js"></script>
<script>
(async function() {
const pid = sessionStorage.getItem('participant_id');
// Mark session complete
if (pid) {
try {
await apiPost('api/complete_session.php', {
participant_id: parseInt(pid, 10)
});
} catch (e) {
console.error('Failed to complete session:', e);
}
}
// Show summary from sessionStorage
const summaryEl = document.getElementById('summary');
const reactionTimes = JSON.parse(sessionStorage.getItem('reaction_times') || '[]');
const mazeTime = sessionStorage.getItem('maze_time');
const mazeMoves = sessionStorage.getItem('maze_moves');
const simonLevel = sessionStorage.getItem('simon_level');
let html = '';
if (reactionTimes.length > 0) {
const avg = Math.round(reactionTimes.reduce((a, b) => a + b, 0) / reactionTimes.length);
const best = Math.min(...reactionTimes);
html += '<div class="stat"><span class="stat-label">Snitt reaktionstid</span><span class="stat-value">' + avg + ' ms</span></div>';
html += '<div class="stat"><span class="stat-label">Bästa reaktionstid</span><span class="stat-value">' + best + ' ms</span></div>';
}
if (mazeTime !== null) {
html += '<div class="stat"><span class="stat-label">Labyrint tid</span><span class="stat-value">' + (parseInt(mazeTime) / 1000).toFixed(1) + ' s</span></div>';
html += '<div class="stat"><span class="stat-label">Labyrint drag</span><span class="stat-value">' + mazeMoves + '</span></div>';
}
if (simonLevel !== null) {
html += '<div class="stat"><span class="stat-label">Simon nivå nådd</span><span class="stat-value">' + simonLevel + '</span></div>';
}
if (html) {
summaryEl.innerHTML = '<h2>Dina resultat</h2>' + html;
}
// Clear session data
sessionStorage.clear();
})();
</script>
</body>
</html>