Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/exercises/

formuppg-2.php
formuppg.php
hejsvejsfil.php
index.php
ovn-cla1.php
ovn-cla2.php
ovn-cook1.php
ovn-cook2.php
ovn-cook3.php
ovn-cook32.php
ovn-cook4.php
ovn-extra1.php
ovn-extra2.php
ovn-extra3.php
ovn-form1-2.php
ovn-form1.php
ovn-form2-2.php
ovn-form2.php
ovn-form3-2.php
ovn-form3.php
ovn-form4-2.php
ovn-form4.php
ovn-form5-2.php
ovn-form5.php
ovn-form6-2.php
ovn-form6.php
ovn-func1.php
ovn-func3.php
ovn-gr1.php
ovn-gr6.php
ovn-gr7.php
ovn-incl1.php
ovn-incl2-1.php
ovn-incl2-2.php
ovn-incl2-3.php
ovn-incl2-4.php
ovn-strhant1.php
ovn-strhant2.php
ovn-strhant3.php
ovn-strhant4.php
ovn-strhant5.php

formuppg.php

165 lines UTF-8 Windows (CRLF)
<!DOCTYPE html>
<html lang="sv">
<head>
    <meta charset="UTF-8">
    <title>kjskjs</title>
</head>
<body>
    <?php
    $fragar 
= '<div class="fraga">
                <br>Fråga 1:<br> Vad är 5*4?<br>
                <label><input type="radio" name="2" value="val21"> 5555</label><br>
                <label><input type="radio" name="2" value="val22"> 54</label><br>
                <label><input type="radio" name="2" value="val23"> 20</label><br>
                <label><input type="radio" name="2" value="val24"> 44444</label><br>
            </div>
            <div class="fraga">
                <br>Fråga 2:<br> Vad betyder a//b?<br>
                <label><input type="radio" name="3" value="val31"> Rest a/b</label><br>
                <label><input type="radio" name="3" value="val32"> Hur många b går i a</label><br>
                <label><input type="radio" name="3" value="val33"> a - alla siffror som finns i b</label><br>
                <label><input type="radio" name="3" value="val34"> a delat på b</label><br>
            </div>
            <div class="fraga">
                <br>Fråga 3:<br> Vad är 29^2-19^2?<br>
                <label><input type="radio" name="4" value="val41"> 960</label><br>
                <label><input type="radio" name="4" value="val42"> 220</label><br>
                <label><input type="radio" name="4" value="val43"> 480</label><br>
                <label><input type="radio" name="4" value="val44"> 680</label><br>
            </div>'
;
    
?>
    <form method="POST" action="" id="f1">
        Lösen = 1<br>
        Lösen<br>
        <input type="text" name="losen">
    </form>
    <?php
    
if (
        (isset(
$_POST['losen']) && $_POST['losen'] === "1")
        || isset(
$_POST['5'])
    ) {
        echo 
'<style>#f1 { display: none; }</style>';
        echo 
'<style>#main { display: block; }</style>';
        echo 
'<main id="main">
    <form method="post" action="">
        <div class="fraga">
            Namn:<br>
            <input type="text" name="1"><br>
        </div>'
;

echo 
$fragar;

echo 
'<input type="submit" value="Skicka" name="5">
    </form>
</main>'
;
    };
    
?>
    <?php
    
if (
        isset(
$_POST["2"], $_POST["3"], $_POST["4"])
    ) {
        echo 
'<style>#main{display:none}</style>';
        
$resultat = 0;
        if (
$_POST["2"] === "val23") {
            
$resultat++;
        }
        if (
$_POST["3"] === "val32") {
            
$resultat++;
        }
        if (
$_POST["4"] === "val43") {
            
$resultat++;
        }
        
$meddelande = "Hej!\n\n";
        
$meddelande .= "Du fick " . $resultat . " av 3 poäng.\n";
        
$mottagare = "allmol25@varmdogymnasium.se";
        
$rubrik = "Resultat från formuläret";
        
$mejlhuvud = "From: allmol25@varmdogymnasium.se\r\n";
        
$mejlhuvud .= "Reply-To: allmol25@varmdogymnasium.se" . "\r\n";
        
$mejlhuvud .= "Content-Type: text/plain; charset=UTF-8\r\n";
        if (
mail($mottagare, $rubrik, $meddelande, $mejlhuvud)) {
            echo 
"<p>Formuläret är skickat!</p>";
            echo 
"<p>Du fick " . $resultat . " av 3 poäng.</p>";
            echo 
"<p>Mejlet har skickats till skolans adress.</p>";
        } else {
            echo 
"<p>Det gick inte att skicka mejlet.</p>";
        }
        
$fragar = str_replace("<br>", "^temp^", $fragar);
        
$fragar = str_replace("</label>", "^temp3^", $fragar);
        
$fragar = str_replace('<label>', "^temp4^", $fragar);
        
$fragar = str_replace('<label>', "^temp4^", $fragar);
        
$fragar = str_replace('value="', "", $fragar);
        
$fragar = str_replace('"', "", $fragar);
        
$fragar = strip_tags($fragar);
        if (
$_POST["2"] != "val23") {
            
$fel = [
                
"val21" => "5555",
                
"val22" => "54",
                
"val24" => "44444"
            
];
                
$fragar = str_replace(
                    
$fel[$_POST["2"]],
                    
'<span style="color:red;">' . $fel[$_POST["2"]] . '</span>',
                    
$fragar
                
);
        }
        if (
$_POST["3"] != "val32") {
            
$fel = [
                
"val31" => "Rest a/b",
                
"val33" => "a - alla siffror som finns i b",
                
"val34" => "a delat på b"
            
];
                
$fragar = str_replace(
                    
$fel[$_POST["3"]],
                    
'<span style="color:red;">' . $fel[$_POST["3"]] . '</span>',
                    
$fragar
                
);
        }
        if (
$_POST["4"] != "val43") {
            
$fel = [
                
"val41" => "960",
                
"val42" => "220",
                
"val44" => "680"
            
];
                
$fragar = str_replace(
                    
$fel[$_POST["4"]],
                    
'<span style="color:red;">' . $fel[$_POST["4"]] . '</span>',
                    
$fragar
                
);
        }
        
$fragar = str_replace(" 20", '<span style="color:green;"> 20 </span>', $fragar);
        
$fragar = str_replace("480", '<span style="color:green;"> 480 </span>', $fragar);
        
$fragar = str_replace("Hur många b går i a", '<span style="color:green;"> Hur många b går i a </span>', $fragar);
        
$fragar = str_replace("^temp^", "<br>", $fragar);
        
$fragar = str_replace("^temp3^", "</label>", $fragar);
        
$fragar = str_replace("^temp4^", "<label>", $fragar);
        echo 
$fragar;
    }
    
?>
</body>
<script>
    const namn = document.getElementsByName('1')[0];
    const fragor = [
        document.querySelector('[name="2"]').closest('.fraga'),
        document.querySelector('[name="3"]').closest('.fraga'),
        document.querySelector('[name="4"]').closest('.fraga')
    ];
    const submit = document.querySelector('#main input[type="submit"]');
    fragor.forEach(fraga => fraga.style.display = 'none');
    submit.style.display = 'none';
    namn.addEventListener('input', function() {
        fragor[0].style.display = 'block';
        fragor.forEach((fraga, index) => {
            fraga.querySelectorAll('input[type="radio"]').forEach(radio => {
                radio.addEventListener('change', function() {
                    if (fragor[index + 1]) {
                        fragor[index + 1].style.display = 'block';
                    } else {
                        submit.style.display = 'block';
                    }
                });
            });
        })
    });
</script>
</body>
</html>