Sixtens hemsida Uppgifter Blogg Om

m03u03

Gå till sida

Källkod

wesweb01/moment03/m03u03.php

1 lines
<?php
# Jag observerade att man behövde uppdatera sidan en gång för att namnet skulle uppdatera. Detta tog du upp på kursolle.
# Jag tänker att eftersom det är lite orealistiskt scenario att läsa av kakan direkt så lämnar jag uppgiften som den är.
# I framtiden får man väl på något sätt lagra en slags UUID cookie i webbläsaren som lagras på en databas med det associerade namnet.

switch (isset($_GET["action"]) ? $_GET["action"] : null) { # Lat sätt att kolla ifall $_GET["action"] är satt till ett värde. Ifall den inte gör det körs default i switchen.
    # Används för att annars får man error på servern ifall man försöker indexera $_GET["action"] och värdet är obestämt.
    
case "destroy"# Vi tar bort cookien ifall det är det som begärs
        
setcookie("name"""time());
        break;
    default: 
# Annars sparar vi en cookie med namnet i POST(om det finns).
        
if (isset($_POST["name"]))
            
setcookie("name"$_POST["name"], time() + 3600 24 7);
}
?>

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>m03u03</title>
    <link rel="stylesheet" type="text/css" href="../css/materialize.css">
    <script defer type="text/javascript" src="../js/materialize.js"></script>
</head>

<body>
    <div class="container">
        <?php
        
echo "<p>Lagrat namn: ";
        echo isset(
$_COOKIE['name']) ? $_COOKIE['name'] : "Inget namn lagrat"# Här skriver vi ut det lagrade namnet, eller "inget namn lagrat" ifall det inte finns något.
        
echo "</p>";
        
?>
        <form action="?" method="POST">
            <p>
                <label for="name">Användarnamn: </label>
                <input id="name" type="text" name="name" required>
            </p>
            <p>
                <input class="btn" type="submit" value="Spara">
            </p>
        </form>
        <p><a href="?action=destroy">Ta bort sparad cookie</a></p>
        <p><a href="?">Ladda om sidan</a></p>
    </div>
</body>

</html>