Show sourcecode
The following files exists in this folder. Click to view.
webbserverprogrammering/submissions/inlamning_formular/
del_1-3.php
del_4-5.php
style.css
del_1-3.php
112 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/dark.css">
<title>Inlämning Formulär 1-3</title>
<style>
body{
width: 100%;
min-height: 90vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<?php
//session to keep track of answers
session_start();
$step = isset($_POST['step']) ? intval($_POST['step']) : 0;
$name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : (isset($_SESSION['name']) ? $_SESSION['name'] : '');
$email = isset($_POST['email']) ? htmlspecialchars($_POST['email']) : (isset($_SESSION['email']) ? $_SESSION['email'] : '');
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
//correct answers
$correct = ['b', 'a', 'd'];
//user
if ($step > 0 && isset($_POST['answer'])) {
if (!isset($_SESSION['answers'])) {
$_SESSION['answers'] = [];
}
$_SESSION['answers'][] = $_POST['answer'];
}
if ($step == 0) {
?>
<form method="post">
<label>Namn: <input type="text" name="name" required></label><br>
<label>Epost: <input type="email" name="email" required></label><br>
<input type="hidden" name="step" value="1">
<button type="submit">Starta Quiz</button>
</form>
<?php
} else if ($step == 1) {
?>
<form method="post">
<p>Fråga 1: Vilken är Sveriges huvudstad?</p>
<label><input type="radio" name="answer" value="a" required> Göteborg</label><br>
<label><input type="radio" name="answer" value="b"> Stockholm</label><br>
<label><input type="radio" name="answer" value="c"> Malmö</label><br>
<label><input type="radio" name="answer" value="d"> Uppsala</label><br>
<input type="hidden" name="step" value="2">
<button type="submit">Nästa</button>
</form>
<?php
} else if ($step == 2) {
?>
<form method="post">
<p>Fråga 2: Vad är 2 + 2?</p>
<label><input type="radio" name="answer" value="a" required> 4</label><br>
<label><input type="radio" name="answer" value="b"> 3</label><br>
<label><input type="radio" name="answer" value="c"> 5</label><br>
<label><input type="radio" name="answer" value="d"> 6</label><br>
<input type="hidden" name="step" value="3">
<button type="submit">Nästa</button>
</form>
<?php
} else if ($step == 3) {
?>
<form method="post">
<p>Fråga 3: Vilken färg har himlen?</p>
<label><input type="radio" name="answer" value="a" required> Grön</label><br>
<label><input type="radio" name="answer" value="b"> Röd</label><br>
<label><input type="radio" name="answer" value="c"> Gul</label><br>
<label><input type="radio" name="answer" value="d"> Blå</label><br>
<input type="hidden" name="step" value="4">
<button type="submit">Skicka in</button>
</form>
<?php
} else if ($step == 4) {
//result
$answers = isset($_SESSION['answers']) ? $_SESSION['answers'] : [];
$score = 0;
for ($i = 0; $i < 3; $i++) {
if (isset($answers[$i]) && $answers[$i] == $correct[$i]) {
$score++;
}
}
echo "<h2>Resultat</h2>";
echo "Spelare: $name<br>";
echo "Antal korrekta svar: $score av 3<br>";
//send email
$to = $email;
$subject = "Quizresultat";
$message = "Hej $name!\nDu fick $score av 3 rätt på quizet.";
mail($to, $subject, $message);
//clear session
session_destroy();
}
?>
</body>
</html>