Avatar billede mss Nybegynder
18. januar 2002 - 12:39 Der er 2 kommentarer og
1 løsning

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

%>



Avatar billede orca Nybegynder
18. januar 2002 - 15:45 #1
Kan du ikke efter brugeren har stemt sende ham til server2 som afvikler asp scriptet. Derefter kan han sendes tilbage til server1 til fil1 eller fil2 alt efter udslaget af ASP scriptet. fil1/fil2 sætter så den cookie som vedrører server1. Herefter kan disse filer redirecte brugeren hvorhen du vil have ham?

mvh Mark
--
www.gameshots.dk
Avatar billede mss Nybegynder
19. januar 2002 - 10:30 #2
Det lyder som et godt forslag, men kan du skrive koden - så den blot er at placere ind i mit script?

Der tilbydes 250 kr. på Sharkforum.com, hvor alle nødvendige filer findes. Tidsfrist ASAP.

Avatar billede mss Nybegynder
20. januar 2002 - 00:42 #3
Problemet er løst....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester