Webbserverprogrammering 1

Show sourcecode

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

webbserverprogrammering/exercises/form_uppgift/

form_uppgift2.php
form_uppgift3.php
form_uppgift5.php
form_uppgift6.php
hash.php

form_uppgift3.php

225 lines UTF-8 Windows (CRLF)
<?php
// show all error reporting
error_reporting(-1); // Report all type of errors
ini_set('display_errors'1); // Display all errors 
ini_set('output_buffering'0); // Do not buffer outputs, write directly

session_start();
?>

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Uppgift 3</title>

    <style>
        .flex {
            display: flex;
            align-items: center;
        }
    </style>
</head>

<body>

    <?php
    
if (!isset($_SESSION["curr_q"])) {
        
$_SESSION["curr_q"] = 0;
    }
    
$curr_q $_SESSION["curr_q"];

    if (
$_SERVER['REQUEST_METHOD'] === 'POST') {

        if (!empty(
$_POST['q' $_SESSION["curr_q"]])) {
            
$_SESSION["curr_q"]++;
        } else if (
$curr_q === 4) {
            
$_SESSION['curr_q']++;
        }

        
$curr_q $_SESSION["curr_q"];

        if (
$curr_q === 5) {
            
$_SESSION["curr_q"] = 0;
        }

        if (
$curr_q 3) {
    
?>

            Ditt namn är <?php echo $_POST["q0"]; ?>.

            <?php
            
if (isset($_POST["q0"]) && isset($_POST["q1"]) && isset($_POST["q2"]) && isset($_POST["q3"])) {
                
$correct_answers 0;
                if (
$_POST["q1"] == '517') {
                    
$correct_answers++;
                }
                if (
$_POST["q2"] == 'Ja') {
                    
$correct_answers++;
                }
                if (
$_POST["q3"] == 'Kanske') {
                    
$correct_answers++;
                }
            
?>
                Du fick <?php echo $correct_answers?> rätt.
    <?php
            
}
        }
    }

    
$curr_q $_SESSION["curr_q"];
    
?>

    <form action="" method="post">
        <input type="hidden" value="<?php echo $_POST["curr_q"] ?? 0?>" name="curr_q">

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

            <label for="name">Namn:</label>
            <input type="text" id="q0" name="q0" required>

        <?php
        
} else {
        
?>

            <input type="hidden" name="q0" id="q0" value="<?php echo $_POST["q0"] ?? ""?>">

        <?php
        
}

        if (
$curr_q && $curr_q 4) {
        
?>
            <fieldset>
                <legend>Frågor</legend>

            <?php
        
}
            
?>



            <?php

            
if ($curr_q === 1) {
            
?>

                <div class="flex">
                    <label for="q1">Hur mycket väger Helge? (<span id="a1"></span> kg)</label>
                    <input type="range" name="q1" id="q1" min="100" max="999" required>
                </div>

            <?php
            
} else {
            
?>

                <input type="hidden" value="<?php echo $_POST["q1"] ?? 100?>" name="q1" id="q1">

            <?php
            
}

            if (
$curr_q === 2) {
            
?>

                <div>
                    Är Helge en älg?
                    <div>
                        <input type="radio" name="q2" id="q2:1" value="Ja" required>
                        <label for="q2:1">Ja</label>
                        <input type="radio" name="q2" id="q2:2" value="Nej">
                        <label for="q2:2">Nej</label>
                        <input type="radio" name="q2" id="q2:3" value="Kanske">
                        <label for="q2:3">Kanske</label>
                        <input type="radio" name="q2" id="q2:4" value="Jag vet inte">
                        <label for="q2:4">Jag vet inte</label>
                    </div>
                </div>

            <?php
            
} else {
            
?>

                <input type="hidden" name="q2" id="q2" value="<?php echo $_POST["q2"] ?? ""?>">

            <?php
            
}

            if (
$curr_q === 3) {
            
?>

                <div>
                    Är Per en helg?
                    <div>
                        <input type="radio" name="q3" id="q3:1" value="Ja" required>
                        <label for="q3:1">Ja</label>
                        <input type="radio" name="q3" id="q3:2" value="Nej">
                        <label for="q3:2">Nej</label>
                        <input type="radio" name="q3" id="q3:3" value="Kanske">
                        <label for="q3:3">Kanske</label>
                        <input type="radio" name="q3" id="q3:4" value="Jag vet inte">
                        <label for="q3:4">Jag vet inte</label>
                    </div>
                </div>

            <?php
            
} else {
            
?>

                <input type="hidden" name="q3" id="q3" value="<?php echo $_POST["q3"] ?? ""?>">

            <?php
            
}

            if (
$curr_q && $curr_q 4) {
            
?>
            </fieldset>
        <?php
            
}
        
?>



        <?php
        
if ($curr_q 3) {
        
?>

            <button type="submit">Nästa fråga</button>

        <?php
        
} else if ($curr_q === 4) {
        
?>

            <button type="submit">Nollställ</button>

        <?php
        
} else {
        
?>

            <button type="submit">Skicka svar</button>

        <?php
        
}
        
?>

    </form>

    <script>
        const q1 = document.getElementById('q1');
        const a1 = document.getElementById('a1');
        q1.addEventListener('input', () => {
            updateAnswerDisplay();
        });

        updateAnswerDisplay()

        function updateAnswerDisplay() {
            a1.innerText = q1.value;
        }
    </script>

</body>

</html>