PHP5 sessio-ongelma

Tervehdys,

Olen tutustumassa PHP5:een, ja törmäsin sessioissa ongelmiin.

Jos asetan session alussa:

muuttuja säilyttääa arvonsa seuraavallakin sivulla.

Sen sijaan jos teen näin:

...Hötömölöä

Niin eipä arvo säilykään! Eli voin asettaa sessioon muuttujan vain jos teen sen ennen headereiden tulostusta.

Aika kehnoa, jos en pysty muuttamaan arvoa sen jälkeen kun olen jo tulostanut osan sivun koodista.

Onko jollain toimivaa konstia miten sessiomuuttujat säilyttäisivät arvonsa keskellä koodia asetettunakin?
6962
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Kokeile puskurointia


...Hötömölöä

...Blablabla

Äänestä
  • Oikeastaan ongelma näyttää olevan sivun uudelleen ohjauksessa, ainakin tässä tapauksessa.

    Alla yksinkertainen login-testi:

    logintest1.php:






    Username:
    Password:




    logintest2.php:


    logintest3:









    Kun sivulle logintest3 päästään, ei muuttujalla ole arvoa. Johtunee header-redirectistä?

    Onko vinkkiä, miten tuo ohjaus login-tarkistuksesta eteenpäin pitäisi sitten tehdä että se toimisi?

    Äänestä

  • Hjälp! kirjoitti:

    Oikeastaan ongelma näyttää olevan sivun uudelleen ohjauksessa, ainakin tässä tapauksessa.

    Alla yksinkertainen login-testi:

    logintest1.php:






    Username:
    Password:




    logintest2.php:


    logintest3:









    Kun sivulle logintest3 päästään, ei muuttujalla ole arvoa. Johtunee header-redirectistä?

    Onko vinkkiä, miten tuo ohjaus login-tarkistuksesta eteenpäin pitäisi sitten tehdä että se toimisi?

    >>> Onko vinkkiä, miten tuo ohjaus login-tarkistuksesta eteenpäin pitäisi sitten tehdä että se toimisi?

    Evästeet (cookies) pitää olla sallittu...

    Jos eivät ole, niin pitää lisätä session_id linkin perään:

    Äänestä

  • KonaniPrain kirjoitti:

    >>> Onko vinkkiä, miten tuo ohjaus login-tarkistuksesta eteenpäin pitäisi sitten tehdä että se toimisi?

    Evästeet (cookies) pitää olla sallittu...

    Jos eivät ole, niin pitää lisätä session_id linkin perään:

    Sessioid:n lisääminen urliin ratkaisi ongelman.

    Cookiet on kyllä päällä:
    session.use_cookies = 1

    ...mutta ei tuo silti toiminut ennen sessioid:n lisäämistä urliin.

    session.cookie_secure sen sijaan oli kommentoitu, mutta sillä ei liene tekemistä tässä?

    Kuinkas turvalliselta tavalta tuollainen redirectillä hoidettu login vaikuttaa? Kovinkin heikolta?

    Samalla voisin kysyä, että onko jotain käyttökelpoisempaa tapaa ohjata saman palvelun sisällä toiselle sivulle? Header-komennossahan annetaan koko URL.

    Äänestä

  • Hjälp! kirjoitti:

    Sessioid:n lisääminen urliin ratkaisi ongelman.

    Cookiet on kyllä päällä:
    session.use_cookies = 1

    ...mutta ei tuo silti toiminut ennen sessioid:n lisäämistä urliin.

    session.cookie_secure sen sijaan oli kommentoitu, mutta sillä ei liene tekemistä tässä?

    Kuinkas turvalliselta tavalta tuollainen redirectillä hoidettu login vaikuttaa? Kovinkin heikolta?

    Samalla voisin kysyä, että onko jotain käyttökelpoisempaa tapaa ohjata saman palvelun sisällä toiselle sivulle? Header-komennossahan annetaan koko URL.

    Ei tarvitse antaa koko urlia, pelkkä suhteellinen polku haluttuun kohteeseen riittää.

    Äänestä

  • Hjälp! kirjoitti:

    Sessioid:n lisääminen urliin ratkaisi ongelman.

    Cookiet on kyllä päällä:
    session.use_cookies = 1

    ...mutta ei tuo silti toiminut ennen sessioid:n lisäämistä urliin.

    session.cookie_secure sen sijaan oli kommentoitu, mutta sillä ei liene tekemistä tässä?

    Kuinkas turvalliselta tavalta tuollainen redirectillä hoidettu login vaikuttaa? Kovinkin heikolta?

    Samalla voisin kysyä, että onko jotain käyttökelpoisempaa tapaa ohjata saman palvelun sisällä toiselle sivulle? Header-komennossahan annetaan koko URL.

    >>> Cookiet on kyllä päällä: session.use_cookies = 1
    >>> ...mutta ei tuo silti toiminut ennen sessioid:n lisäämistä urliin.

    session.use_cookies on PHP:n konfiguraatiodirektiivi. Jos sen arvoksi asetetaan 1, tuloksena on EVÄSTEIDEN käyttö, kun arvoksi asetetaan 0, käytetään URL-osoiteen uudelleenkirjoitusta

    KÄYTTÄJÄ on voinut kieltää kaikki evästeet ja silloin homma ei toimi (jos session.use_cookies = 1)

    Voit tarkistaa ovatko evästeet käytössä: http://keskustelu.suomi24.fi/show.fcgi?category=108&conference=500000000000005&posting=22000000039134187

    Äänestä

Kommentoi aloitusta


Hjälp! kirjoitti:

Tervehdys,

Olen tutustumassa PHP5:een, ja törmäsin sessioissa ongelmiin.

Jos asetan session alussa:

muuttuja säilyttääa arvonsa seuraavallakin sivulla.

Sen sijaan jos teen näin:

...Hötömölöä

Niin eipä arvo säilykään! Eli voin asettaa sessioon muuttujan vain jos teen sen ennen headereiden tulostusta.

Aika kehnoa, jos en pysty muuttamaan arvoa sen jälkeen kun olen jo tulostanut osan sivun koodista.

Onko jollain toimivaa konstia miten sessiomuuttujat säilyttäisivät arvonsa keskellä koodia asetettunakin?

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