Periaatteessa osaan, mutta kuitenkin huolimattomuus on eri asia. Tarkoitus on tehdä keskustelupalstalle kirjautumismahdollisuus kolmella eri tavalla: istunto, itse valitsema aika uloskirjautumiseen tai "ikuisesti". Ohjelman lähdekoodit ovat täällä:
http://85.76.90.128/projects/keskustelupalsta/
http://85.76.90.128/projects/keskustelupalsta/
Jostain syystä nähtävästi sessionia/cookieta ei aseteta. En tiedä miksi, mutta DEBUG-tietojen mukaan se kyllä olisi mennyt ihan oikein. Lisäsin vielä pari DEBUG-riviä, jotka kertovat että sessiota/cookieta ei aseteta. Johtuuko tämä siitä, että mysql_query palauttaa onnistuessaan jotain muuta kuin totuusarvon, joka olisi tosi?
http://85.76.90.128/projects/keskustelupalsta/
Edeltävästä linkistä voitte testata, miten se toimii tai ei toimi. (Sivun lataus saattaa olla hidas, kiitos Elisan tyrimisen. Nyt serveri pyörii nettitikun päässä.)
Laitoit sitten salasanasikin näkyviin. :) (Edit: jaa, otit pois.)
Nuo header-jutut ainakin ovat pielessä. Header ei lopeta sivun käsittelyä, vaan aina tarvitset lisäksi dien. Nyt käsittely jatkuu, vaikka tunnus ja salasana puuttuisivat.
Otat salasanasta md5-summan, joten mysql_real_escape_string on turha. Sen sijaan kannattaisi käyttää salasanassa nk. suolaa eli salaista pätkää, joka aina lisätään käyttäjän syötteeseen.
Itse vikaa en pikaisella silmäyksellä huomannut, enkä juuri nyt ehdi katsoa tarkemmin.
Toivottavasti hyvät ihmiset, jotka sen näkivät eivät sitä käytä. Sitä ei kyllä voi käyttääkkään, kun vain localhostista. =)
Kiitos kommenteista. Korjaan nuo asiat.
Macro kirjoitti:
Toivottavasti hyvät ihmiset, jotka sen näkivät eivät sitä käytä.
Olisin enemmän huolissani "pahoista ihmisistä" :D
Oho, noinko tuli kirjoitettua. :) No, ihan sama. :D
En tiedä ratkesiko kaikki ongelmat, mutta suurin ongelma oli siinä, että koodissa asetan session_id session/cookien ja tarkistan pc session/cookien.
Kyllähän se toimii hienosti nyt, kun muutin sen nimen oikeaksi. Lisään pari ominaisuutta, ja se on siinä!
Aihe on jo aika vanha, joten et voi enää vastata siihen.