/ Forside/ Teknologi / Udvikling / Java Scripts / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
JavaScript Cookie med fast start dato?
Fra : Martinals
Vist : 199 gange
120 point
Dato : 27-11-03 23:37

Hejsa!

Kan man når man laver en cookie, kode en start dato ind for hvornår cookien må dannes første gang?
Altså hvis jeg klikker på en knap på min hjemmeside i dag så må den ikke sætte cookien før 01/12-2003?
Eller i hvert fald må cookien ikke virke før den dag?

Det er 2 muligheder men kan jeg det og hvordan?

Den der hjælper mig med det hurtigste og bedste svar samt hjælpe med at få det til at virke får 50 point.

 
 
Kommentar
Fra : natmaden


Dato : 28-11-03 02:07

50 point for oven + 50 point for neden WauH ,-)
Nej ! Men du kan bruge en cookie eks: nu!
og så lade dit java bestemme om den er gyldig nu eller til jul.
normalt er det noget der høre servere til (php,asp,,).
Java er et klientprogram.
Mvh.
Natmaden

Kommentar
Fra : Martinals


Dato : 28-11-03 10:39

Hmmm.

det vil sige at jeg slet ikke kan lave noget i scriptet der gør at min cookie
først er aktiv fra 01 12 2003??

Og det vil så også sige at jeg heller ikke kan lave et script der ikke
danner en cookie før efter 01 12 2003.
Det vil sige at kommer du på siden den 02 12 2003 så skal den lægge
en cookie på brugerens pc..

Kan bare en af disse 2 ting slet ikke lade sig gøre??

---
Mvh
Martin





Kommentar
Fra : JensT


Dato : 28-11-03 11:31

Skal det være variabelt pr bruger udi al fremtid ?
F.eks at de der logger på i december først skal have en cookie i Januar

Kommentar
Fra : natmaden


Dato : 28-11-03 14:34

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.

Kommentar
Fra : Martinals


Dato : 28-11-03 19:34

PHP dur ikke på min server.
Vil helst have det som et javascript og noget cookie et eller andet..
For i kan hjælpe mig rigtigt så kan i kigge på http://www.on-time.dk/kalender/kalender.htm

Her han i jo lige tjekke source og se hvordan det er bygget op.

Klikker du på 1 dec skriver den "hov hov ikke snyde". Samtidig smider jeg en cookie på din pc som skal huske at du har set 1. dec.
Selv om du reelt set kun har klikket på lågen og endnu ikke set siden.

Gør du nu det at du klikker refresh skifter den til http://www.on-time.dk/kalender/20031201.htm hvilket den skal.
Fordi at næste dag du kommer for at åbne din kalender skal den automatisk gå til den side du efterlod. altså 1 dec.

Det kan godt være at det skal laves helt anderledes, men mangler hjælp.
Det er en begynder kalender mest for venner og bekendte så jeg vil ikke have login..

---
Mvh
Martin


Kommentar
Fra : Martinals


Dato : 29-11-03 00:07

Har lige hævet med 50 point mere...
Sååå der er 100 point til den der kan løse mit problem med en cookie eller noget andet der passer til det jeg har lavet..



---
Mvh
Martin

Kommentar
Fra : Hessner


Dato : 02-12-03 23:53

Skriv din cookie på klienten. Lad een af informationerne i din cookie være den dato som du omtaler. Test på datoen når du læser cookien hos klienten. Er datoen valid, da kan du gå videre.......

Kører din kode på klienten, da kan han sætte sin systemdato frem i tiden og derved omgå din test.

Kører din kode på en server,- da skal han ned og pille i cookien for at omgå din test - derfor er det altid en god ide at kryptere indholdet af din cookie.

MVH.
Hessner.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste