Tälläisia aiheita on ollut varmaan jo monia, mutta en löydä vastausta omaan ongelmaani.
Eli minulla on kirjautumis systeemi. Siihen syötetään käyttis ja salasana sitten se ohjaa sen kirjautumis sivulle jossa se tarkistaa if-lauseella että salasana on sama kuin .txt tiedostossa jonka avaan file()-funktiolla (tässä tiedostossa on myös muuta tekstiä toisella rivillä salasanan jälkeen), vaikka salasana olisikin sama se silti valittaa että se ei ole sama kuin tiedostossa. Tutkin asiaa ja laitoin sen tulostamaan sekä syötetyn salasanan että tiedostossa olevan salasanan, huomasin että tiedostossa olevan perään se tulosti välilyönnin, kokeilin kirjautuessa lsätä salasanan perään välilyönnin mutta sekään ei auttanut. Miten se lukee rivin vaihdon tiedostosta ja mitä tälle ongelmalle pitäisi tehdä?
(jos ette ymmärtäneet jotain kohtaa niin kysykää)
Miten olisi, että ajat trim()
-funktion sekä syötteelle että tiedostosta luetulle salasanalle? Se putsaa turhat välilyönnit ja rivinvaihdot merkkijonojen alusta ja lopusta.
Toimiskohan jos ensin poistat sen rivinvaihtomerkin ja vertailet vasta sitten?
$salasana = str_replace("\n","",$salasana);
Kiitos homma toimii trim()-funktiolla
Se näyttää ehkä tulostettuna, että perään tulee välilyönti, mutta kiinnoistaisi kyllä tietää, että mitä sinne oikeasti tulee perään ja miksi. Itsekin nimittäin törmäsin tähän samaan ongelmaan, ja trim() auttoi siinäkin.
Mikäli salasana on tiedostossasi ollut selko muotoinen, suosittelisin sen salaamista esim. md5() funktiolla.
Muutat koodiasia sen verran että tallennat sen ko. funktion kautta ja tarkistaessa ajat annetun salasanan tuon funktion läpi ja vertaat tiedostossa olevaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.