Både og, men vist ikke helt som du tror.
Den dag du, får en cookie er dens startsdato set fra pc'en den havner på,
efter hvor i verden du er, vil dette tidspunkt være forskudt fra den server der leverede den. Det du/serveren gør er at sætte et 'id' på cookien og en
udløbs-dato/tid , når pc'en igen kommer forbi serveren blir dette 'id'
sammenlignet med den gamle cookie, fra sidst. man kan så bruge det til
1. statestik.
2. hjælpe brugeren, med at huske hans/hendes , færden fra sidst.
3. og meget andet.
Men det er alt sammen noget du/servern bestemmer.
Eks:
Tim kommer til en side, serveren kikker om han har en cookie fra siden.
Hvis han ikke har, kunne serveren spørge ham, 'Du er ny her. hvad er dit navn ?'
Han skriver sit navn, og kommer vidre,, lukker siden,,,.
10 min. efter kommer Tim forbi igen, og serveren kikker igen,
og ser at han har den cookie, der høre til siden. Nu kan serveren sige
'hej Tim, velkommen tilbage du var her for 10 min siden!'
Hvis så dit pgm. tjecker om datoen er 1/12 og det er Tim, kan du beslutte at
han ikke må komme ind/videre før datoen. Ligesom at du på samme måde kan
kan beslutte om han kom for sent.
Der er et problem, eks. serveren er i tidszone dk. og tim sidder i england,
dette kunne gi svaret ' du var her for -50min siden.'
Er det en jule-kalender hvor man kun kan komme ind på datoen,
At du tænker på at lave ?
Og jo du kan godt bestemme at cookien først leveres til en bestemt dato.
-----
if dato > 1/12 then
Kom ind og få en kage
else
Kalenderen åbner først den. 1 december.
Kom snart igen.
end if
----
Øh jeg er ikke lige helt vildt til java, men mere til php.
Dette kode-eksembel skal hedde 'bageren.php'.
Kode <?php
function tjekTilladelse($brugerHvem, $pinTjek) {
$gyldigtid = 300; // i sekunder
$dom = "net2620.dk";
$bruger = "knud";
$pin = "tud";
$krypteretPin = md5($pin);
if ($brugerHvem == $bruger && $pinTjek == $krypteretPin) {
$check = TRUE;
} else {
$check = FALSE;
}
return $check;
}
if (isset($relogin)) {
setcookie ('kagebruger', "",time()-$gyldigtid, '/',$dom);
setcookie ('kagepin', "",time()-$gyldigtid, '/',$dom);
}
if (isset($login)) {
$pinkode = md5($formPin);
$brugernavn = $formBruger;
if (tjekTilladelse($brugernavn, $pinkode)) {
setcookie ('kagebruger', $brugernavn,time()+$gyldigtid, '/',$dom);
setcookie ('kagepin', $pinkode,time()+$gyldigtid, '/',$dom);
$msg = "Du er godkendt! Og du modtog en kage!";
}else{
$msg = "AFVIST!";
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html>
<head>
<?php
if (isset($login)) {
echo("<meta http-equiv='refresh' content='5;url=bageren.php'>");
}
?>
<title>Bag En Kage</title>
</head>
<body>
<?php
if (isset($kagebruger) && !isset($relogin)) {
if (tjekTilladelse($kagebruger, $kagepin)) {
echo("<p>Hej $kagebruger!</p>" .
"<p>Din adgangs-kode er (krypteret med md5): $kagepin</p>" .
"<p><a href='bageren.php?relogin=1'>Slet kagen og tving login<a></p>");
} else {
echo("<p>Der er en forkert blanding i kagen</p>" .
"<p><a href='bageren.php?relogin=1'>Slet kagen og tving login<a></p>");
}
} else {
if (!isset($login) | isset($relogin)) {
?>
<form method="POST" action="bageren.php?login=1">
<p>Bruger: <input type="text" name="formBruger">
Adgangskode: <input type="password" name="formPin">
<input type="submit" name="submit" value="Log In"></p>
</form>
<?php
} elseif (isset($login)) {
echo("<p>$msg</p>" .
"<p>Du blir tilbagestillet om 5 sekunder!</p>");
}
}
?>
</body>
</html> |
Eksemblet virker, men kører kun på server.
Det kan prøves på
http://net2620.dk/bageren.php
N.B. du får kun en cookie, efter hvordan din browser er indstillet,
og den har en udløbstid på 5 min.
Syntaxen for en cookie brugt i php kan du bla. se her:
http://dk.php.net/manual/en/function.setcookie.php
eller kik lidt her.
http://www.script.dk/sourcecode.jsp
Hmm ! forvirret. også mig.
Julefrokost og alt det der, trykker lidt i hovedet for tiden
God Jul.
Mvh Natmaden.