JavaScript og cockies.. - Problemer
Jeg er ved at lave et script, som sætter en cockie på brugeren maskine, afhængig af hvad brugeren svarer \"Ja\" eller \"Nej\".Der afvikles kode på den server, hvor brugeren surfer rundt (server 1), og på den server, som skal gemme brugerens svar (server 2).
Ved afvikling af funktionen afvikles ASP-kode på server 2, da brugerens svar gemmes i en database. Cockie funktionen er at teste om brugen har fået mulighed for at svare før. Er det tilfældet skal brugeren ikke have muligheden for at svare igen.
ASP koden der ligger på server 2, skal derfor afvikle et Javascript på den 1. server, som sætter en cockie der vedr. server 1.
Hvordan laves dette??
Dvs. hvordan skriver den kode, som skal fortælle et script på server 1. at den skal sætte en cockie med enten 1 eller 0 som værdi og bagefter skal brugerens sendes videre til en URL, som findes på server 2.
Nddenfor ses et script der sætter en cockie, men det vedr. server 2 og kan derfor ikke anvendes, da cockien skal vedr. server 1:
<script language=\"javascript\">
function getCookie(NameOfCookie)
{ if (document.cookie.length > 0)
{ begin = document.cookie.indexOf(NameOfCookie+\"=\");
if (begin != -1)
{ begin += NameOfCookie.length+1;
end = document.cookie.indexOf(\";\", begin);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(begin, end)); }
}
return null;
}
function setCookie(NameOfCookie, value, expiredays)
{ var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
document.cookie = NameOfCookie + \"=\" + escape(value) +
((expiredays == null) ? \"\" : \"; expires=\" + ExpireDate.toGMTString());
}
function delCookie (NameOfCookie)
{ if (getCookie(NameOfCookie)) {
document.cookie = NameOfCookie + \"=\" +
\"; expires=Thu, 01-Jan-70 00:00:01 GMT\";
}
}
function DoTheCookieStuff()
{
popit=getCookie(\'popit\');
if (popit==null)
{
setCookie(\'popit\',\'no\',365)
}
}
function GoToSite( url) {
opener.location = url;
opener.focus();
self.close();
}
</script>
</head>
<body>
<%
\' Hvis \'Ja\' skrives værdien til db, popup lukkes, cookie sættes så popup ikke vises igen og brugeren sendes til spørgeskema
if intSelect = 1 then
intOpt1 = intOpt1 + 1
strSql = \"Update data set ja = \" & intOpt1 & \" where id = \" & intPopID
rs.execute(strSql)
%>
<script language=\"javascript\">
DoTheCookieStuff()
GoToSite(\'questionaire.htm\')
window.close()
</script>
<%
end if
%>
<%
\' Hvis \'nej\' skrives værdien til db, popup lukkes, cookie sættes så popup ikke vises igen
if intSelect = 2 then
intOpt2 = intOpt2 + 1
strSql = \"Update data set nej = \" & intOpt2 & \" where id = \" & intPopID
rs.execute(strSql)
%>
<script language=\"javascript\">
DoTheCookieStuff()
window.close()
</script>
<%
end if
%>
<%
\' Hvis \'Senere\' skrives værdien til db, popup lukkes
if intSelect = 3 then
intOpt3 = intOpt3 + 1
strSql = \"Update data set senere = \" & intOpt3 & \" where id = \" & intPopID
rs.execute(strSql)
%>
<script language=\"javascript\">
window.close()
</script>
<%
end if
%>
<%
rs.close
%>