Jag tänkte ge mig ett försök för första gången med cookies, men kan absolut inget om det, så jag tänkte be lite snällt om starthjälp här iaf. Det är inga problem att göra det där men det kommer inte att vara någon säker lösning. IP-adresser kan bytas ut och cookies kan tas bort. Tack för svar. Cookies kan skrivas antingen med javascript eller från serversidan. Jag har letat lite nu, och hittat hur man på ett enkelt sätt kan skapa en cookie med hjälp av ASP, och tänkte väl ge mig på ett försök med det. ja det är lämpligt att skicka till en intern sida först för avräkning och sättning av kaka. Nu har jag två följdfrågor... Problemet löst helt nu.Cookies för länkar
Har tänkt att jag ska skapa en lista med länkar (reklamlänkar) där man som besökare bara skall kunna besöka en länk en gång per IP.
När man har klickat på en länk, så skall den länken tas bort från listan och de andra som man inte har besökt skall fortfarande synas tills det att man har besökt dem med.
Cookien skall vara aktiv t ex en månads tid, sen kan den tas bort.
Går det här att genomföra på något sätt?
Min grundsida är dessutom byggd i vanlig html/xhtml men det finns möjligheter att inkludera asp/php iaf.Sv: Cookies för länkar
Hur som helst så ska du inte använda cookies om det är IP-adressen du ska gå efter, då ska du istället lagra på servern (med fördel i en databas) vilken IP-adress som har klickat på vilken länk.
Du kan också lagra vilka länkar varje person har klickat på i en cookie men då behöver du inte bry dig om IP-adressen utan bara spara vilka länkar just den personen har klickat på.
I ditt fall så skulle jag personligen använda cookies eftersom det antagligen inte är jätteviktigt att man inte kan klicka flera gånger på varje länk.
/ThomasSv:Cookies för länkar
Det är inte något större krav att det ska vara en säker lösning, utan det är precis som du säger att en användare helst bara ska klicka en gång, men om han/hon klickar flera ggr, så är det inte hela världen.
Nu är bara frågan var man hittar en bra förklaring på hur man skapar en cookie för varje användare som lagrar vilka länkar de har klickat på så att de inte visas...
Några tips?Sv: Cookies för länkar
Vill du göra det med javascript lär du ha stor hjälp av dessa 2 funktioner:
<code>
//Set a cookie value
function setCookie(c_name,value)
{
var exdate = new Date();
exdate.setDate(exdate.getDate() + 365);
document.cookie = c_name + "=" + escape(value) +
";expires=" + exdate.toGMTString();
}
// Get a cookie value
function getCookie(c_name)
{
if (document.cookie.length > 0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end=document.cookie.indexOf(";", c_start);
if (c_end == -1)
c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
</code>
Exempel:
<code>
setCookie('kakansNamn', 'kakans värde');
getCookie('kakansNamn');
</code>
Tyvärr kan man inte lagra en array i en cookie, men du kan istället lagra en lång sträng med länkarna, såhär:
<code>
setCookie('clickedLinks', 'http://www.pellesoft.se/;http://www.aftonbladet.se;http://www.google.com/');
</code>
och hämta dom såhär:
<code>
var urls = getCookie('clickedLinks').split(';');
</code>
Men nu verkar det ju troligare att du vill göra det på serversidan så det beror help på vilket språk du kodar i.Sv:Cookies för länkar
Det jag har hittat är att man kan göra så här iaf:
<code>
<%
Response.Cookies ("MYCOOKIE")("Visited") = "Yes"
Response.Cookies ("MYCOOKIE").Expires = DATE + 7
%>
</code>
Men, hur i hela fridens namn skapar jag min cookie när man väl klickar på en länk?
Ska jag skicka vidare till en asp-sida där jag skapar min cookie eller?
Någon som har nåt vidare tips?Sv: Cookies för länkar
Sedan redirectar du till annonsören.Sv:Cookies för länkar
1. Hur gör jag på enklaste sätt för att kontrollera om en cookie har skrivits?
2. Om jag vill att en länk ska visas om cookien INTE finns och att inget alls ska ske om cookien finns, hur skriver jag då?
Så här ser koden ut jag har gjort:
<code>
<%
link = request.querystring("link")
if link = 1 then
Response.Cookies ("MYCOOKIE")("Link1") = "Yes"
Response.Cookies ("MYCOOKIE").Expires = DATE + 14
response.redirect "http://..."
end if
%></code>
Jag skapar alltså en cookie för samtliga länkar jag har. Sen så vill jag kolla om en besökare har klickat på den länken eller inte, och om besökaren har klickat så ska den inte visas.
<----------------------------------------------->
Nu har jag lyckats kolla om min cookie syns iaf, men nu återstår frågan hur jag skriver för att få till det i den ordning som jag vill, dvs att jag vill kolla om cookien finns, och om den inte finns, då ska jag länken synas, och om den finns, då ska länken inte synas.
Hur skriver man alltså när man vill kolla om värdet är inget, eller cookien inte existerar.Sv: Cookies för länkar
Det var inte svårare än att skriva
<code>If Request.Cookies ("MYCOOKIE")("Link3") = "" Then%></code>
Tack för hjälpen!