Webbserverprogrammering 1

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

Formular5Svar.php

66 lines UTF-8 Windows (CRLF)
<?php
$mottagare 
= "johmel25@varmdogymnasim.se";
$standardMottagare = "johmel25@varmdogymnasim.se";
$mejlSkickat = false;
$mejlFel = "";
$svar = null;

if (
$_SERVER["REQUEST_METHOD"] === "POST") {
    
$fornamn = trim($_POST["fornamn"] ?? "");
    
$efternamn = trim($_POST["efternamn"] ?? "");
    
$klass = trim($_POST["klass"] ?? "");
    
$matratt = trim($_POST["matratt"] ?? "");
    
$kurs = trim($_POST["kurs"] ?? "");

    if (
$fornamn !== "" && $efternamn !== "" && $klass !== "" && $matratt !== "" && $kurs !== "") {
        
$svar = [
            
"fornamn" => $fornamn,
            
"efternamn" => $efternamn,
            
"klass" => $klass,
            
"matratt" => $matratt,
            
"kurs" => $kurs,
        ];

        if (
$mottagare === $standardMottagare) {
            
$mejlFel = "Ange din mejladress i variabeln mottagare i Formular5Svar.php innan du använder mejlfunktionen.";
        } elseif (
filter_var($mottagare, FILTER_VALIDATE_EMAIL) === false) {
            
$mejlFel = "Mottagaradressen i Formular5Svar.php är inte en giltig mejladress.";
        } else {
            
$amne = "Svar från formulär 5";
            
$meddelande = "Namn: " . $fornamn . " " . $efternamn
                
. "\nKlass: " . $klass
                
. "\nFavoritmaträtt: " . $matratt
                
. "\nFavoritkurs: " . $kurs;
            
$headers = "MIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8";

            if (
mail($mottagare, $amne, $meddelande, $headers)) {
                
$mejlSkickat = true;
            } else {
                
$mejlFel = "Mejlet kunde inte skickas. Kontrollera att labbservern tillåter PHP-funktionen mail().";
            }
        }
    }
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
    <meta charset="UTF-8">
    <title>Dina svar och mejl</title>
</head>
<body>
    <?php if ($svar !== null): ?>
        <h1>Hej <?= htmlspecialchars($svar["fornamn"], ENT_QUOTES, "UTF-8") ?> <?= htmlspecialchars($svar["efternamn"], ENT_QUOTES, "UTF-8") ?> i <?= htmlspecialchars($svar["klass"], ENT_QUOTES, "UTF-8") ?>!</h1>
        <p>Du gillar mat <?= htmlspecialchars($svar["matratt"], ENT_QUOTES, "UTF-8") ?>!</p>
        <p>Din favoritkurs är <?= htmlspecialchars($svar["kurs"], ENT_QUOTES, "UTF-8") ?>.</p>
        <?php if ($mejlSkickat): ?>
            <p>Dina svar har skickats till mejladressen som är inställd på sidan.</p>
        <?php else: ?>
            <p><?= htmlspecialchars($mejlFel, ENT_QUOTES, "UTF-8") ?></p>
        <?php endif; ?>
    <?php else: ?>
        <p>Fyll i alla fält i formuläret innan du skickar det.</p>
    <?php endif; ?>
</body>
</html>