Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/exercises/formular/
Formular1.php
Formular1Svar.php
Formular2.php
Formular2Svar.php
Formular3.php
Formular3Svar.php
Formular4.php
Formular4Svar.php
Formular5.php
Formular5Svar.php
Formular6.php
Formular6Svar.php
Formular7.php
Formular7Svar.php
Formular8.php
Formular6Svar.php
56 lines UTF-8 Windows (CRLF)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
<?php
function skyddaText($text) {
return htmlspecialchars((string) $text, ENT_QUOTES, "UTF-8");
}
function skrivUtFavoritmatratter(array $matratter) {
if (count($matratter) > 1) {
echo "<p>Dina favoritmaträtter är " . skyddaText(implode(", ", $matratter)) . ".</p>";
} elseif (count($matratter) === 1) {
echo "<p>Din favoritmaträtt är " . skyddaText($matratter[0]) . ".</p>";
}
}
function valjGiltigaMatratter($valdaMatratter) {
$tillgangligaMatratter = ["Tacos", "Pizza", "Pasta", "Sushi", "Hamburgare", "Sallad", "Pannkakor"];
if (!is_array($valdaMatratter)) {
return [];
}
return array_values(array_intersect($valdaMatratter, $tillgangligaMatratter));
}
$svar = null;
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$fornamn = trim($_POST["fornamn"] ?? "");
$efternamn = trim($_POST["efternamn"] ?? "");
$klass = trim($_POST["klass"] ?? "");
$kurs = trim($_POST["kurs"] ?? "");
if ($fornamn !== "" && $efternamn !== "" && $klass !== "" && $kurs !== "") {
$svar = [
"fornamn" => $fornamn,
"efternamn" => $efternamn,
"klass" => $klass,
"kurs" => $kurs,
"matratter" => valjGiltigaMatratter($_POST["matratter"] ?? []),
];
}
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Dina svar</title>
</head>
<body>
<?php if ($svar !== null): ?>
<h1>Hej <?= skyddaText($svar["fornamn"]) ?> <?= skyddaText($svar["efternamn"]) ?> i <?= skyddaText($svar["klass"]) ?>!</h1>
<?php skrivUtFavoritmatratter($svar["matratter"]); ?>
<p>Din favoritkurs är <?= skyddaText($svar["kurs"]) ?>.</p>
<?php else: ?>
<p>Fyll i namn, klass och välj en kurs i formuläret.</p>
<?php endif; ?>
</body>
</html>