The following files exists in this folder. Click to view.
m03u02.2.php92 lines UTF-8 Unix (LF) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
<?php
// Definiera en mailadress
$mailadress = "johan@minmail.se";
// Skapa en cookie med namnet 'email' och lagra mailadressen i den
setcookie('email', $mailadress,time()-20);
// Kontrollera om cookien är satt och skriv ut dess värde
if(isset($_COOKIE['email'])) {
echo "Din e-postadress är: " . $_COOKIE['email'];
} else {
echo "Cookien är inte satt ännu.";
}
?>
<?php
// Starta sessionen
session_start();
// Hantera olika actions via GET-parametrar
if(isset($_GET['action'])){
switch($_GET['action']){
case 'killSession': // Döda sessionen
session_unset();
session_destroy();
header("location: ?");
break;
case 'killCookie': // Ta bort cookie
setcookie('mail',"", time()-3600);
header("location: ?");
break;
case 'reset': // Döda sessionen & ta bort cookie
session_unset();
session_destroy();
setcookie('mail',"", time()-3600);
header("location: ?");
break;
}
}
// Om POST-data finns, spara e-post i session och cookie
if(isset($_POST['mail'])){
$mail = strtolower(trim($_POST['mail']));
setcookie('mail', $mail);
$_SESSION['mail'] = $mail;
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Exempel på session & cookie</title>
</head>
<body>
<form action="" method="post">
<p>Ange en mailadress:<br />
<input type="email" name="mail" required> <input type="submit"></p>
</form>
<hr>
<?php
// Kontrollera om sessionen är satt och skriv ut mailadressen
if(isset($_SESSION['mail'])){
echo "<p>Mailadressen som är lagrad i session är: ". $_SESSION['mail'];
echo "<br />[<a href='?action=killSession'>döda sessionen</a>]</p>";
} else {
echo "<p>Det finns ingen mail lagrad i SESSION.</p>";
}
// Kontrollera om cookien är satt och skriv ut mailadressen
if(isset($_COOKIE['mail'])){
echo "<p>Mailadressen som är lagrad i COOKIE är: ".$_COOKIE['mail'];
echo "<br />[<a href='?action=killCookie'>döda cookien</a>]</p>";
} else {
echo "<p>Det finns ingen mail lagrad i COOKIE.</p>";
}
?>
<form action="" method="get">
<button type="button" onClick="window.location.reload();">reload</button>
<input type="submit" name="action" value="reset">
</form>
<p>När du skriver en mailadress så uppdateras den både i SESSION och COOKIE. Problemet är att cookien inte kan hämtas omedelbart eftersom den måste sparas på klienten först. Klicka på <q>reload</q> för att uppdatera sidan och se värdet på cookien.</p>
<hr>
<section style="border:1px dashed black;background:lightgrey;width:800px;">
<h3>Alla definierade variabler på sidan</h3>
<div>
<pre><?php print_r(get_defined_vars()); ?></pre>
</div>
</section>
</body>
</html>