Sivulla http://support.microsoft.com/kb/178066/en-us esitetty IE:n ominaisuus estää sen, että en saa rakennettua "Lähetä linkki kaverille" -toimintoa sivustolleni. Tai siis, toimii se muilla kokeilemillani selaimilla (FF, Opera, Chrome, Safari) mutta ei IE (6/7):llä.
Käytännössä homman pitäisi toimia niin, että kun kävijä klikkaa sivulta linkkiä "Lähetä linkki kaverille", siitä aukeaa uusi ikkuna, jonka alussa on PHP:llä $link = $HTTP_REFERER; (myöskään $link = $_SERVER['HTTP_REFERER'] ei toimi) joka tallettaa muuttujaan $link sen sivun URL:n, josta linkin lähetyssivu avattiin. Auenneella lomakkeella sitten on viestikenttä, jossa URL pitäisi automaattisesti olla mukana. Niin se onkin, jos käytetään toista selainta kuin IE (edellämainittu syy). IE:llä muuttujan arvo jää tyhjäksi ja URL puuttuu.
Olisiko vinkkejä ratkaisuksi?
Käytännössä homman pitäisi toimia niin, että kun kävijä klikkaa sivulta linkkiä "Lähetä linkki kaverille", siitä aukeaa uusi ikkuna, jonka alussa on PHP:llä $link = $HTTP_REFERER; (myöskään $link = $_SERVER['HTTP_REFERER'] ei toimi) joka tallettaa muuttujaan $link sen sivun URL:n, josta linkin lähetyssivu avattiin. Auenneella lomakkeella sitten on viestikenttä, jossa URL pitäisi automaattisesti olla mukana. Niin se onkin, jos käytetään toista selainta kuin IE (edellämainittu syy). IE:llä muuttujan arvo jää tyhjäksi ja URL puuttuu.
Olisiko vinkkejä ratkaisuksi?
Vastaukset 3
Vanhimmat
ei noita referer-juttuja kanata käyttää jos haluaa että homma toimii aina. monet pluginit poistaa aina refererit, ettei sun surffailua voisi seurata.
"lähetä linkki kaverille" voisi siirtää linkin ihan muuttujana sille toisele sivulle, niin se toimii kaikilla selaimilla.
Lähetä linkki kaverille
Sitten laheta.php kaivaa muuttujan
$link = urldecode( $_GET('linkki') );
eli kun laittaa hreffin sisään niin urlencode(url) ja kun ottaa sen GETistä, niin urldecode(url) ette erikoismerkit sotkeennu
Kiitos vastauksesta. En kuitenkaan ymmärrä riviä
Lähetä linkki kaverille
Enhän mää halua lähettää kaikille linkkiä osoitteeseen keijo.com vaan lähetettävänä pitäisi olla juuri se sivu, josta linkkiä "lähetä kaverille" klikataan. Sivuja on PALJON ja jokaisella oma URL.
Tuollaisena laheta.php aukeaa ihan tyhjänä, ei edes taustakuvaa näy.
Voisko sulla toimia semmonen ratkaisu, että lisäät kullekin sivulle esim. tämän:
Sitten sille uudelle sivulle (saat tehdä itse) liität haluamaasi kohtaan:
session_start tulee tietysti aina sivun alkuun. Tämä voi ehkä olla sitä mitä tarkoitit. Helpompikin keino voi olla, ja esimerkissä on ehkä liikaakin koodia, mutta kokeile.