http_referer ja IE ei sovi yhteen

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?
3237
Äänestä

Muut lukivat myös

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

Äänestä
  • 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.

    Äänestä

  • Alkuperäänen kirjoitti:

    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.

    Äänestä

Kommentoi aloitusta


Kysyjää kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu