Show sourcecode
The following files exists in this folder. Click to view.
cookieses1.php
cookieses2.php
cookieses4.php
formquiz.php
formtest.php
hej.php
hejincl.php
index.php
klasser1.php
klasser2.php
klasser3.php
klasser5.php
loginses.php
logoutses.php
ovn_funk1.php
ovn_funk2.php
ovn_funk3.php
ovn_funk4.php
ovn_gr1.php
ovn_gr2.php
ovn_gr3for.php
ovn_gr3while.php
ovn_gr4.php
ovn_gr5.php
ovn_gr6.php
ovn_gr7.php
secretses.php
sida1.php
sida2.php
sida3.php
sidslut.php
sidstart.php
test.php
formquiz.php
163 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
<?php
$LOSENORD = "hemligt";
$fragor = [
["Vilken är Sveriges huvudstad?",
["Göteborg", "Stockholm", "Malmö", "Uppsala"], 1],
["Vem är störst i Sverige?",
["Oskar D", "Kingboy", "Smör", "Anis Don Demina"], 3],
["Hur många dagar har en vanlig vecka?",
["5", "6", "7", "8"], 2],
];
$losen = $_POST['losen'] ?? '';
$steg = $_POST['steg'] ?? 'start';
$namn = trim($_POST['namn'] ?? '');
$mailadress = trim($_POST['mailadress'] ?? '');
$svar = [
1 => $_POST['svar1'] ?? '',
2 => $_POST['svar2'] ?? '',
3 => $_POST['svar3'] ?? '',
];
function h($s) { return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); }
function dolda($losen, $namn, $mailadress, $svar, $upptillOchMed) {
echo '<input type="hidden" name="losen" value="' . h($losen) . '" />';
echo '<input type="hidden" name="namn" value="' . h($namn) . '" />';
echo '<input type="hidden" name="mailadress" value="' . h($mailadress) . '" />';
for ($i = 1; $i <= $upptillOchMed; $i++) {
echo '<input type="hidden" name="svar' . $i . '" value="' . h($svar[$i]) . '" />';
}
}
$inloggad = ($losen === $LOSENORD);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Frågetävling</title>
<style>
body { font-family: Arial, sans-serif; max-width: 600px; margin: 40px auto; padding: 0 16px; }
label { display: block; margin: 6px 0; }
.ratt { background: #c8f7c5; padding: 4px; }
.fel { background: #f7c5c5; padding: 4px; }
.fraga { margin-bottom: 20px; }
</style>
</head>
<body>
<h1>Frågetävling</h1>
<?php
if (!$inloggad) {
if (isset($_POST['losen'])) echo '<p style="color:red">Fel lösenord.</p>';
?>
<form method="post">
<label>Lösenord: <input type="password" name="losen" required /></label>
<input type="submit" value="Logga in" />
</form>
<?php
}
else if ($steg === 'start') {
?>
<form method="post">
<input type="hidden" name="losen" value="<?= h($losen) ?>" />
<input type="hidden" name="steg" value="1" />
<label>Ditt namn: <input type="text" name="namn" required /></label>
<label>Din e-postadress: <input type="email" name="mailadress" required /></label>
<input type="submit" value="Starta" />
</form>
<?php
}
else if ($steg === '1') {
$f = $fragor[0];
?>
<form method="post">
<input type="hidden" name="steg" value="2" />
<?php dolda($losen, $namn, $mailadress, $svar, 0); ?>
<div class="fraga">
<h3>Fråga 1: <?= h($f[0]) ?></h3>
<?php foreach ($f[1] as $i => $alt) { ?>
<label><input type="radio" name="svar1" value="<?= $i ?>" required /> <?= h($alt) ?></label>
<?php } ?>
</div>
<input type="submit" value="Nästa" />
</form>
<?php
}
else if ($steg === '2') {
$f = $fragor[1];
?>
<form method="post">
<input type="hidden" name="steg" value="3" />
<?php dolda($losen, $namn, $mailadress, $svar, 1); ?>
<div class="fraga">
<h3>Fråga 2: <?= h($f[0]) ?></h3>
<?php foreach ($f[1] as $i => $alt) { ?>
<label><input type="radio" name="svar2" value="<?= $i ?>" required /> <?= h($alt) ?></label>
<?php } ?>
</div>
<input type="submit" value="Nästa" />
</form>
<?php
}
else if ($steg === '3') {
$f = $fragor[2];
?>
<form method="post">
<input type="hidden" name="steg" value="resultat" />
<?php dolda($losen, $namn, $mailadress, $svar, 2); ?>
<div class="fraga">
<h3>Fråga 3: <?= h($f[0]) ?></h3>
<?php foreach ($f[1] as $i => $alt) { ?>
<label><input type="radio" name="svar3" value="<?= $i ?>" required /> <?= h($alt) ?></label>
<?php } ?>
</div>
<input type="submit" value="Skicka in" />
</form>
<?php
}
else if ($steg === 'resultat') {
$antalRatt = 0;
foreach ($fragor as $n => $f) {
if ($svar[$n + 1] !== '' && (int)$svar[$n + 1] === $f[2]) $antalRatt++;
}
$totalt = count($fragor);
$amne = "Frågetävling resultat";
$text = "Spelare: $namn\nRätt svar: $antalRatt av $totalt\n";
$headers = "From: svaeri25@varmdogymnasium.se\r\n";
$headers .= "Content-Type: text/plain; charset=UTF-8\r\n";
$skickat = false;
if (filter_var($mailadress, FILTER_VALIDATE_EMAIL)) {
$skickat = @mail($mailadress, $amne, $text, $headers);
}
?>
<h2>Resultat</h2>
<p><strong>Spelare:</strong> <?= h($namn) ?><br>
<strong>Rätt svar:</strong> <?= $antalRatt ?> av <?= $totalt ?></p>
<p><em><?= $skickat ? "Resultatet har mejlats." : "Mejlet kunde inte skickas (kontrollera e-postadress och mejlserver)." ?></em></p>
<?php foreach ($fragor as $n => $f) {
$valt = $svar[$n + 1]; ?>
<div class="fraga">
<h3>Fråga <?= $n + 1 ?>: <?= h($f[0]) ?></h3>
<?php foreach ($f[1] as $i => $alt) {
$klass = '';
if ($i === $f[2]) $klass = 'ratt';
else if ($valt !== '' && (int)$valt === $i) $klass = 'fel';
$markering = ($valt !== '' && (int)$valt === $i) ? ' (ditt svar)' : '';
?>
<div class="<?= $klass ?>"><?= h($alt) . $markering ?></div>
<?php } ?>
</div>
<?php } ?>
<form method="post">
<input type="hidden" name="losen" value="<?= h($losen) ?>" />
<input type="submit" value="Spela igen" />
</form>
<?php
}
?>
</body>
</html>