Avatar billede weblance Nybegynder
03. august 2007 - 22:30 Der er 11 kommentarer og
1 løsning

Kan man bruge et hyperlink til at sætte en cookie?

Jeg skal med et hyperlink videre til en anden side. Kan man lave en cookie samtidig med at man klikker på hyperlinket? Cookien skal senere hentes vha. php: <? $_COOKIE['cookie']; ?>

/Carl
Avatar billede gonza.dk Nybegynder
03. august 2007 - 22:46 #1
hvis du laver en "mellemside"

###side1.php

<a href="setcookie.php?cookie=etellerandet">link</a>

###setcookie.php

$cookie = $_GET["cookie"];

$_COOKIE["cookie"] = $cookie;

header("location:side2.php");


###side2.php

her kan du så hente informationerne i din cookie
Avatar billede olebole Juniormester
03. august 2007 - 22:57 #2
<ole>

Hvorfor ikke bare sætte den med java script:

<script type="text/JavaScript">
function setMyCookie(sName, sValue, nDays) {
    var oDate = oExpire = new Date();
    oExpire.setTime(oDate.getTime() + (3600000*24*nDays));
    document.cookie = sName + "=" + escape(sValue) + ";expires=" + oExpire.toGMTString();
}
</script>

- og linket:
<a href="#" onclick="setMyCookie('FarsKage', 'Flødeskum og andet snask', 2)">Sæt kage</a>

/mvh
</bole>
Avatar billede olebole Juniormester
03. august 2007 - 22:59 #3
Ups ... der skal returneres falsk:
    <a href="#" onclick="setMyCookie('FarsKage', 'Flødeskum og andet snask', 2);return false">Sæt kage</a>
Avatar billede gonza.dk Nybegynder
03. august 2007 - 23:01 #4
oloebole -> tænkte det, men nu spurgte han jo om php... Selvom javascript metoden kræver færre sider ;-)
Avatar billede olebole Juniormester
04. august 2007 - 00:08 #5
Yups ... jeg synes nu nok, det er mest 'sexy' at gøre det i JS. Specielt, hvis side2.php er vigtig i søgemaskine sammenhæng, da søgemaskiner er ikke så glade for redirects. Eller hvis der er tale om noget "Gem disse informationer".

Der er naturligvis argumentet "hvad så, hvis brugeren har disabled JS?", men langt de fleste af dem, der optræder i div. statistikker som browsere uden JS, er søgebotter, der ikke er siet fra. Det er utroligt få, der disabler JS  =)
Avatar billede olebole Juniormester
04. august 2007 - 00:09 #6
- men det var ikke et oplæg til hidsig debat om emnet. Nu har han begge muligheder til rådighed  ;o)
Avatar billede weblance Nybegynder
04. august 2007 - 13:26 #7
Jeg kan godt lide JS metoden, men det sætter bare cookien, den refresher ikke siden så det nye sprog kommer frem med det samme... Hvordan gør mandet?
Avatar billede gonza.dk Nybegynder
04. august 2007 - 14:14 #8
prøv med:

<script type="text/JavaScript">
function setMyCookie(sName, sValue, nDays) {
    var oDate = oExpire = new Date();
    oExpire.setTime(oDate.getTime() + (3600000*24*nDays));
    document.cookie = sName + "=" + escape(sValue) + ";expires=" + oExpire.toGMTString();
}
</script>

- og linket:
<a href="#" onclick="setMyCookie('FarsKage', 'Flødeskum og andet snask', 2);self.location.reload(true);">Sæt kage</a>
Avatar billede weblance Nybegynder
07. marts 2008 - 21:54 #9
Send venligst et svar olebole, så lukker jeg nemli' tråden!
Avatar billede olebole Juniormester
07. marts 2008 - 23:42 #10
Sendt  ;o)
Avatar billede weblance Nybegynder
07. marts 2008 - 23:58 #11
Tak!
Avatar billede olebole Juniormester
08. marts 2008 - 14:31 #12
Selvtak og tak for points  ;o)
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