Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbsrvprg/exercises/svar/

ovn_form1_svar.php
ovn_form2_svar.php
ovn_form3_svar.php
ovn_form4_svar.php
ovn_form5_svar.php
ovn_form6_svar.php
ovn_form7_svar.php

ovn_form6_svar.php

63 lines UTF-8 Unix (LF)
<?php
error_reporting
(-1);
ini_set('display_errors', 1);
ini_set('output_buffering', 0);

function 
skrivMatratter($matratter)
{
    
$antal = count($matratter);

    if (
$antal === 1) {
        return 
"Din favoritmaträtt är " . htmlspecialchars($matratter[0], ENT_QUOTES, "UTF-8") . ".";
    }

    if (
$antal > 1) {
        
$mat = array_map(function ($ratt) {
            return 
htmlspecialchars($ratt, ENT_QUOTES, "UTF-8");
        }, 
$matratter);

        return 
"Dina favoritmaträtter är " . implode(", ", $mat) . ".";
    }

    return 
"";
}

$fornamn = $_POST["fornamn"] ?? "";
$efternamn = $_POST["efternamn"] ?? "";
$klass = $_POST["klass"] ?? "";
$valdaMatratter = $_POST["mat"] ?? [];
$kurser = ["Kemi", "Religionskunskap", "Webbserverprogrammering"];
$matratter = ["Köttbullar", "Spaghetti med köttfärssås", "Tacos", "Pizza", "Pannkakor", "Hamburgare", "Sushi"];

if (!
is_array($valdaMatratter)) {
    
$valdaMatratter = [];
}

$valdaMatratter = array_values(array_intersect($valdaMatratter, $matratter));
$kurs = $_POST["kurs"] ?? "";

if (!
in_array($kurs, $kurser, true)) {
    
$kurs = "";
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
    <meta charset="UTF-8">
    <title>Formulär 6 – svar</title>
</head>
<body>
    <h1>Formulär 6 – svar</h1>
    <p>Hej <?= htmlspecialchars($fornamn, ENT_QUOTES, "UTF-8") ?> <?= htmlspecialchars($efternamn, ENT_QUOTES, "UTF-8") ?> i <?= htmlspecialchars($klass, ENT_QUOTES, "UTF-8") ?>!</p>
    <?php $matText = skrivMatratter($valdaMatratter); ?>
    <?php if ($matText !== ""): ?>
        <p><?= $matText ?></p>
    <?php endif; ?>
    <?php if ($kurs !== ""): ?>
        <p>Din favoritkurs är <?= htmlspecialchars($kurs, ENT_QUOTES, "UTF-8") ?>.</p>
    <?php endif; ?>
    <p><a href="../ovn_form6.php">Tillbaka till formuläret</a></p>
    <p><a href="../../exercises.php">Mina övningar</a></p>
</body>
</html>