Webbserverprogrammering 1

Show sourcecode

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

Webbsrvprg/exercises/forms/

ovn_form1.php
ovn_form2.php
ovn_form3.php
ovn_form4.php
ovn_form5.php
ovn_form6.php
quiz.php

quiz.php

161 lines UTF-8 Unix (LF)
<?php
$title 
= "quiz.php";
include 
"../incl/header.php"
?>

<h1>Quiz</h1>

<form method="post" action="">
    <?php
    $kortast 
= ["planck", "proton", "elektron", "kvark"];
    
$tyngst = ["Bly", "Tungsten", "Osmium", "Wolfram"];
    
$phpMeaning = ["PHP Hypertext Preprocessor", "Public Hypertext Protocol", "Phenomenal Hypertext PHP", "Pre-Handled Page"];
    if (isset(
$_POST["steg"]) && $_POST["steg"] != "" && $_POST["passwd"] === "admin") {
        
$steg = $_POST["steg"];
    } else {
        
$steg = "steg0";
    }


    if (
$steg == "steg0") {
        if (isset(
$_POST["passwd"])){
            echo 
"<p>Fel lösenord</p>";
        }
        
?>
        <label for="pass">Lösenord</label>
        <input type="password" id="pass" name="passwd">
        <input type="hidden" name="steg" value="steg1">
        <?php
    
} elseif ($steg == "steg1") {
            
?>
            <label for="namn">Ditt namn</label>
            <input type="text" name="namn" id="namn">
            <input type="hidden" name="passwd" value="<?php echo htmlspecialchars($_POST["passwd"] ?? ""); ?>">
            <input type="hidden" name="steg" value="steg2">
            <input type="submit" value="Nästa">
            <?php
   
} elseif ($steg == "steg2") {
        
?>
        <fieldset>
            <legend>Vad är den absolut kortaste distansen</legend>
            <?php
            
foreach ($kortast as $answer) {
                echo 
"<input type=\"radio\" id=\"$answer\" name=\"kortast\" required value=\"$answer\">";
                echo 
"<label for=\"$answer\">$answer</label>";
            }
            
?>
        </fieldset>
        <input type="hidden" name="passwd" value="<?php echo htmlspecialchars($_POST["passwd"] ?? ""); ?>">
        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($_POST["namn"] ?? ""); ?>">
        <input type="hidden" name="steg" value="steg3">
        <input type="submit" value="Nästa">
        <?php
    
} elseif ($steg == "steg3") {
        
?>
        <fieldset>
            <legend>Vilket är det tyngsta grundämnet?</legend>
            <?php
            
foreach ($tyngst as $answer) {
                echo 
"<input type=\"radio\" id=\"$answer\" name=\"tyngst\" required value=\"$answer\">";
                echo 
"<label for=\"$answer\">$answer</label>";
            }
            
?>
        </fieldset>
        <input type="hidden" name="passwd" value="<?php echo htmlspecialchars($_POST["passwd"] ?? ""); ?>">
        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($_POST["namn"] ?? ""); ?>">
        <input type="hidden" name="kortast" value="<?php echo htmlspecialchars($_POST["kortast"] ?? ""); ?>">
        <input type="hidden" name="steg" value="steg4">
        <input type="submit" value="nästa">
        <?php
    
} elseif ($steg == "steg4") {
        
?>
        <fieldset>
            <legend>Vad står PHP för?</legend>
            <?php
            
foreach ($phpMeaning as $answer) {
                echo 
"<input type=\"radio\" id=\"$answer\" name=\"php\" required value=\"$answer\">";
                echo 
"<label for=\"$answer\">$answer</label>";
            }
            
?>
        </fieldset>
        <input type="hidden" name="passwd" value="<?php echo htmlspecialchars($_POST["passwd"] ?? ""); ?>">
        <input type="hidden" name="namn" value="<?php echo htmlspecialchars($_POST["namn"] ?? ""); ?>">
        <input type="hidden" name="kortast" value="<?php echo htmlspecialchars($_POST["kortast"] ?? ""); ?>">
        <input type="hidden" name="tyngst" value="<?php echo htmlspecialchars($_POST["tyngst"] ?? ""); ?>">
        <input type="submit" value="Rätta">
        <input type="hidden" name="steg" value="steg5">
        <?php
    
}
    
?>
</form>

<?php
if ($steg == "steg5") {
    
$namn = $_POST["namn"] ?? "";
    
$svar1 = $_POST["kortast"];
    
$svar2 = $_POST["tyngst"];
    
$svar3 = $_POST["php"];
    
$korrekt = 0;

    if (
$svar1 == "planck") {
        
$korrekt += 1;
    }
    if (
$svar2 == "Osmium") {
        
$korrekt += 1;
    }
    if (
$svar3 == "PHP Hypertext Preprocessor") {
        
$korrekt += 1;
    }
    
?>


    <fieldset>
        <legend>Vad är den absolut kortaste distansen?</legend>
    <?php
    
foreach ($kortast as $answer) {
        
$farg = "";
        if (
$answer == "planck") {
            
$farg = " style=\"color: green\"";
        } elseif (
$answer == $svar1) {
            
$farg = " style=\"color: red\"";
        }
        echo 
"<p $farg for=\"$answer\">En $answer</p>";
    }
    
?>
    </fieldset>
    <fieldset>
        <legend>Vilket är det tyngsta grundämnet?</legend>
    <?php
    
foreach ($tyngst as $answer) {
        
$farg = "";
        if (
$answer == "Osmium") {
            
$farg = " style=\"color: green\"";
        } elseif (
$answer == $svar2) {
            
$farg = " style=\"color: red\"";
        }
        echo 
"<p $farg for=\"$answer\">$answer</p>";
    }
    
?>
    </fieldset>
    <fieldset>
        <legend>Vad står php för?</legend>
    <?php
    
foreach ($phpMeaning as $answer) {
        
$farg = "";
        if (
$answer == "PHP Hypertext Preprocessor") {
            
$farg = " style=\"color: green\"";
        } elseif (
$answer == $svar2) {
            
$farg = " style=\"color: red\"";
        }
        echo 
"<p $farg for=\"$answer\">$answer</p>";
    }
    
?>
    </fieldset>
<?php
    $medelande 
= "$namn, Du fick $korrekt av 3 rätt!";
    echo 
$medelande;
    
mail("hugnih25@varmdogymnasium.se", "Quiz resultat", $medelande);
}
?>

<?php include "../incl/footer.php" ?>