The following files exists in this folder. Click to view.
m03u03.php66 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
<!--Alva Lindgren 23TEb-->
<?php
// Starta alltid sessionen först
session_start();
// Hantera GET-parametern 'action' för att skapa eller döda sessionen / cookie
if (isset($_GET['action'])) {
switch ($_GET['action']) {
case 'create_session':
// Skapa session och spara användarnamnet från formuläret
$_SESSION['name'] = $_POST['username'];
// Lagra användarnamn i cookie i 7 dagar
setcookie("username", $_POST["username"], time() + 7*24*60*60);
break;
case 'kill_session':
// Töm och förstör sessionen
session_unset();
session_destroy();
break;
case 'delete_cookie':
// Ta bort cookien genom att sätta utgångstiden bakåt i tiden
setcookie("username", "", time() - 3600);
break;
}
}
// Hämta cookie om den finns, för att förifylla formuläret
$cookie_name = isset($_COOKIE["username"]) ? $_COOKIE["username"] : '';
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>m03u02</title>
</head>
<body>
<?php
// Visa sessionens innehåll
if (isset($_SESSION['name'])) {
echo "<p>Sessionen innehåller: <strong>{$_SESSION['name']}</strong></p>";
} else {
echo "<p>Sessionen är tom, ingen användare är inloggad.</p>";
}
// Visa cookien om den finns
if ($cookie_name != '') {
echo "<p>Cookien innehåller: <strong>$cookie_name</strong></p>";
}
?>
<!-- Formulär för att spara användarnamn i sessionen och cookien -->
<form action="?action=create_session" method="POST">
<label for="username">Ange namn:</label>
<input type="text" name="username" id="username" required value="<?php echo $cookie_name; ?>">
<input type="submit" value="Lagra användarnamn">
</form>
<!-- Länkar för att döda sessionen eller ta bort cookien -->
<a href="?action=kill_session">Döda sessionen</a><br>
<a href="?action=delete_cookie">Ta bort cookien</a><br>
<a href="?">Ladda om sidan utan GET-anrop</a>
</body>
</html>