Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/exercises/Formquiz/

formruppgift.php
index.php

formruppgift.php

150 lines UTF-8 Windows (CRLF)
<?php
$steg 
= $_POST["steg"] ?? 0;
$namn = $_POST["namn"] ?? "";
$epost = $_POST["epost"] ?? "";
$poang = $_POST["poang"] ?? 0;
$losenord = $_POST["losenord"] ?? "";

if (isset(
$_POST["svar"])) {
    if (
$steg == 3 && $_POST["svar"] == "AIK") {
        
$poang++;
    }
    if (
$steg == 4 && $_POST["svar"] == "PHP") {
        
$poang++;
    }
    if (
$steg == 5 && $_POST["svar"] == "Strawberry Arena") {
        
$poang++;
    }
}
?>

<h1>Frågetävling om Max</h1>

<?php if ($steg == 0) { ?>

    <form method="POST">
        Lösenord:
        <input type="password" name="losenord" required>
        <input type="hidden" name="steg" value="1">
        <input type="submit" value="Logga in">
    </form>

<?php } elseif ($steg == 1) { ?>

    <?php if ($losenord == "1234") { ?>
        <form method="POST">
            Namn: <input type="text" name="namn" required><br><br>
            E-post: <input type="email" name="epost" required><br><br>

            <input type="hidden" name="steg" value="2">
            <input type="submit" value="Starta">
        </form>
    <?php } else { ?>
        <p>Fel lösenord!</p>
        <a href="index.php">Försök igen</a>
    <?php } ?>

<?php } elseif ($steg == 2) { ?>

    <h2>Fråga 1</h2>
    <p>Vilket fotbollslag håller Max på?</p>

    <form method="POST">
        <input type="radio" name="svar" value="Djurgården" required> Djurgården<br>
        <input type="radio" name="svar" value="AIK"> AIK<br>
        <input type="radio" name="svar" value="Hammarby"> Hammarby<br>
        <input type="radio" name="svar" value="Malmö FF"> Malmö FF<br>

        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($namn); ?>">
        <input type="hidden" name="epost" value="<?php echo htmlspecialchars($epost); ?>">
        <input type="hidden" name="poang" value="<?php echo $poang; ?>">
        <input type="hidden" name="steg" value="3">
        <input type="submit" value="Nästa">
    </form>

<?php } elseif ($steg == 3) { ?>

    <h2>Fråga 2</h2>
    <p>Vilket programmeringsspråk använder Max i webbutvecklingen?</p>

    <form method="POST">
        <input type="radio" name="svar" value="Java" required> Java<br>
        <input type="radio" name="svar" value="C++"> C++<br>
        <input type="radio" name="svar" value="PHP"> PHP<br>
        <input type="radio" name="svar" value="Swift"> Swift<br>

        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($namn); ?>">
        <input type="hidden" name="epost" value="<?php echo htmlspecialchars($epost); ?>">
        <input type="hidden" name="poang" value="<?php echo $poang; ?>">
        <input type="hidden" name="steg" value="4">
        <input type="submit" value="Nästa">
    </form>

<?php } elseif ($steg == 4) { ?>

    <h2>Fråga 3</h2>
    <p>Vad heter arenan där Max favoritlag AIK spelar sina hemmamatcher?</p>

    <form method="POST">
        <input type="radio" name="svar" value="Tele2 Arena" required> Tele2 Arena<br>
        <input type="radio" name="svar" value="Strawberry Arena"> Strawberry Arena<br>
        <input type="radio" name="svar" value="Eleda Stadion"> Eleda Stadion<br>
        <input type="radio" name="svar" value="Gamla Ullevi"> Gamla Ullevi<br>

        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($namn); ?>">
        <input type="hidden" name="epost" value="<?php echo htmlspecialchars($epost); ?>">
        <input type="hidden" name="poang" value="<?php echo $poang; ?>">
        <input type="hidden" name="steg" value="5">
        <input type="submit" value="Skicka in">
    </form>

<?php } elseif ($steg == 5) { ?>

    <h2>Resultat</h2>

    <?php
    
echo "Namn: " . htmlspecialchars($namn) . "<br>";
    echo 
"Du fick $poang av 3 rätt!<br><br>";

    
$admin_email = "maxtol25@varmdogymnasium.se";

    
$name = $namn;
    
$user_email = $epost;

    
$message_admin = "Nytt resultat från frågetävlingen:\n\n";
    
$message_admin .= "Namn: $name\n";
    
$message_admin .= "E-post: $user_email\n";
    
$message_admin .= "Resultat: $poang av 3 rätt\n";

    
$subject_admin = "Nytt resultat från frågetävlingen";

    
$message_reply = "Hej $name!\n\n";
    
$message_reply .= "Tack för att du deltog i frågetävlingen.\n";
    
$message_reply .= "Du fick $poang av 3 rätt!\n\n";
    
$message_reply .= "Med vänliga hälsningar\nFrågetävlingen";

    
$subject_user = "Ditt resultat från frågetävlingen";

    
$headers = "From: No Reply <noreply@varmdogymnasium.se>\r\n";

    if (
filter_var($user_email, FILTER_VALIDATE_EMAIL)) {
        
$sent_admin = mail($admin_email, $subject_admin, $message_admin, $headers);
        
$sent_user = mail($user_email, $subject_user, $message_reply, $headers);

        if (!
$sent_admin) {
            echo 
"Mail till admin misslyckades<br>";
        }

        if (!
$sent_user) {
            echo 
"Mail till användare misslyckades<br>";
        }

        if (
$sent_admin && $sent_user) {
            echo 
"<p>Mejlen har accepterats för utskick!</p>";
        }
    } else {
        echo 
"<p>Ogiltig e-postadress.</p>";
    }
    
?>

<?php } ?>