Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/style/webbsrvprg/exercises/
cookies.php
feedback.php
formular.php
grunder1.php
grunder2.php
index.php
mottagare.php
formular.php
278 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
<?php
session_start();
$losenord = "shurdaflippad";
$emailMottagare = "";
$fragor = [
1 => [
"fraga" => "Vilket är Stockholms bästa lag?",
"alternativ" => [
"a" => "AIK",
"b" => "DIF",
"c" => "HIF",
"d" => "BP"
],
"ratt" => "a"
],
2 => [
"fraga" => "Vem är bäst?",
"alternativ" => [
"a" => "Jag",
"b" => "Jamie",
"c" => "Anis Don Demina",
"d" => "Mathias"
],
"ratt" => "b"
],
3 => [
"fraga" => "Får vi tillräckligt med pengar på matkortet?",
"alternativ" => [
"a" => "Nej",
"b" => "JA",
"c" => "Kanske",
"d" => "Vet inte"
],
"ratt" => "a"
]
];
if (isset($_POST["losenord"])) {
if ($_POST["losenord"] === $losenord) {
$_SESSION["inloggad"] = true;
} else {
$felLosenord = true;
}
}
$steg = isset($_POST["steg"]) ? (int)$_POST["steg"] : 1;
if (!isset($_SESSION["inloggad"]) || $_SESSION["inloggad"] !== true) {
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Formulär - Logga in</title>
</head>
<body>
<h1>Formulär</h1>
<p>Ange losenordet for att börja!</p>
<?php if (isset($felLosenord)) { ?>
<p>Fel lösenord! Försök igen.</p>
<?php } ?>
<form method="post">
<label>Lösenord:
<input type="password" name="losenord" required>
</label>
<button type="submit">Logga in</button>
</form>
</body>
</html>
<?php
exit;
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Min frågetävling</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 650px;
margin: 40px auto;
padding: 20px;
}
.ratt {
background-color: #c8f7c5ff;
padding: 5px;
}
.fel {
background-color: #ffcaca;
padding: 5px;
}
.alternativ {
display: block;
margin: 10px 0;
}
</style>
</head>
<body>
<?php
if ($steg === 1) {
?>
<h1>Välkommen till frågetävlingen!</h1>
<form method="post">
<input type="hidden" name="steg" value="2">
<label>Ditt namn:
<input type="text" name="namn" required>
</label>
<h2>Fråga 1</h2>
<p><?php echo $fragor[1]["fraga"]; ?></p>
<?php foreach ($fragor[1]["alternativ"] as $bokstav => $text) { ?>
<label class="alternativ">
<input type="radio" name="svar1"
value="<?php echo $bokstav; ?>" required>
<?php echo htmlspecialchars($text); ?>
</label>
<?php } ?>
<button type="submit">Nästa fråga</button>
</form>
<?php
}
// STEG 2: Andra fragan
else if ($steg === 2) {
$namn = $_POST["namn"] ?? "";
$svar1 = $_POST["svar1"] ?? "";
?>
<h1>Fraga 2 av 3</h1>
<form method="post">
<input type="hidden" name="steg" value="3">
<input type="hidden" name="namn"
value="<?php echo htmlspecialchars($namn, ENT_QUOTES, 'UTF-8'); ?>">
<input type="hidden" name="svar1"
value="<?php echo htmlspecialchars($svar1, ENT_QUOTES, 'UTF-8'); ?>">
<p><?php echo $fragor[2]["fraga"]; ?></p>
<?php foreach ($fragor[2]["alternativ"] as $bokstav => $text) { ?>
<label class="alternativ">
<input type="radio" name="svar2"
value="<?php echo $bokstav; ?>" required>
<?php echo htmlspecialchars($text); ?>
</label>
<?php } ?>
<button type="submit">Nästa fråga</button>
</form>
<?php
}
// STEG 3: Tredje fragan
else if ($steg === 3) {
$namn = $_POST["namn"] ?? "";
$svar1 = $_POST["svar1"] ?? "";
$svar2 = $_POST["svar2"] ?? "";
?>
<h1>Sista frågan!</h1>
<form method="post">
<input type="hidden" name="steg" value="4">
<input type="hidden" name="namn"
value="<?php echo htmlspecialchars($namn, ENT_QUOTES, 'UTF-8'); ?>">
<input type="hidden" name="svar1"
value="<?php echo htmlspecialchars($svar1, ENT_QUOTES, 'UTF-8'); ?>">
<input type="hidden" name="svar2"
value="<?php echo htmlspecialchars($svar2, ENT_QUOTES, 'UTF-8'); ?>">
<p><?php echo $fragor[3]["fraga"]; ?></p>
<?php foreach ($fragor[3]["alternativ"] as $bokstav => $text) { ?>
<label class="alternativ">
<input type="radio" name="svar3"
value="<?php echo $bokstav; ?>" required>
<?php echo htmlspecialchars($text); ?>
</label>
<?php } ?>
<button type="submit">Skicka in svar</button>
</form>
<?php
}
// STEG 4: Resultat och rattning
else if ($steg === 4) {
$namn = $_POST["namn"] ?? "";
$svar = [
1 => $_POST["svar1"] ?? "",
2 => $_POST["svar2"] ?? "",
3 => $_POST["svar3"] ?? ""
];
$poang = 0;
// Rakna antal ratta svar
for ($i = 1; $i <= 3; $i++) {
if ($svar[$i] === $fragor[$i]["ratt"]) {
$poang++;
}
}
echo "<h1>Resultat</h1>";
echo "<p>Bra jobbat, " .
htmlspecialchars($namn, ENT_QUOTES, 'UTF-8') . "!</p>";
echo "<h2>Du fick " . $poang . " av 3 ratt.</h2>";
// Visa alla fragor och markera svaren
for ($i = 1; $i <= 3; $i++) {
echo "<h3>Fraga $i: " .
htmlspecialchars($fragor[$i]["fraga"]) . "</h3>";
foreach ($fragor[$i]["alternativ"] as $bokstav => $text) {
$klass = "";
if ($bokstav === $fragor[$i]["ratt"]) {
$klass = "ratt";
} else if ($bokstav === $svar[$i]) {
$klass = "fel";
}
echo '<div class="alternativ ' . $klass . '">';
if ($bokstav === $fragor[$i]["ratt"]) {
echo "✓ ";
} else if ($bokstav === $svar[$i]) {
echo "✗ ";
}
echo htmlspecialchars($text) . "</div>";
}
}
if ($emailMottagare !== "") {
$amne = "Resultat fran fragetävlingen";
$meddelande = "Spelare: " . $namn .
"\nPoang: " . $poang . " av 3";
$rubriker = "Content-Type: text/plain; charset=UTF-8";
if (mail($emailMottagare, $amne, $meddelande, $rubriker)) {
echo "<p>Resultatet har skickats via e-post.</p>";
} else {
echo "<p>Kunde inte skicka e-post just nu.</p>";
}
}
echo '<p><a href="formular.php">Börja om</a></p>';
}
?>
</body>
</html>