Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelma sessioneilla kirjautumisessa

Teme [14.07.2004 23:54:03]

#

Niin, eli ongelma koskee kirjautumista sessioneilla.
Olen kehittämässä kokonaan uutta sivustoa, ja kun käyttäjä kirjautuu, niin tieto sessioneista katoaa yhtäkkiä johonkin. Tietokannasta haetaan käyttäjien tiedot ja niitä verrataan tunnukseen ja salasanaan, jotka käyttäjä syöttää.

/// check.php ///
<?php
session_start();

   $mysli = mysql_connect("xxxxxxx", "xxxxxxx", "xxxxxxx");
   mysql_select_db("xxxxxxx");
   $query = "SELECT * FROM Tunnukset WHERE Tunnus = '" . $_POST['tunnus'] . "'";
   $temp = mysql_query($query);
   $data = mysql_fetch_array($temp);
   mysql_close();


   if (mysql_num_rows($temp) == 1 and $data['Salasana'] == $_POST['passu'])
   {
        $_SESSION['ID'] = $data['ID'];
        $_SESSION['Tunnus'] = $data['Tunnus'];
        $_SESSION['Taso'] = $data['Taso'];

        echo '<meta http-equiv="refresh" content="1; URL=index.php">';

   }
   else
   {
        include "top.php";
        echo "<b><u>Väärä tunnus/salasana!</u></b><br><br>\nJos olet unohtanut salasanasi tai tunnuksesi, mene <a href=\"palautus.php\">tänne</a>.";
        include "bot.php";
   }
?>

Yllä oleva koodi suorittaa kirjautumisen. Olen testannut tuota ja hyvin toimii eli tiedot löytyy kannasta ja skripta asettaa minut kirjautuneeksi sivustolle. Sitten kun tuo uudelleenohjaa index.php -sivulle, siinä näyttää vielä että on kirjautunut, niinkuin pitääkin. Mutta, kun klikkaa navista ihan mitä tahansa linkkiä joka johtaa toiselle sivulle tiedot kirjautumisesta häviää.

Sivu, johon annetaan tunnukset näyttää taas seuraavalta:

/// login.php ///
<?php session_start(); include "top.php"; ?>
<b><u>Kirjaudu sisään</u></b><br><br>

Ellet vielä omista tunnuksia, rekisteröityä voit <a href="rek.php">tästä</a>.<br><br>

<form action="check.php" method="POST">
Tunnus:<br>
<input type="text" class="text" name="tunnus"><br><br>
Salasana:<br>
<input type="password" class="text" name="passu"><br><br>

<input type="submit" class="button" value="Kirjaudu!">
</form>

<?php include "bot.php"; ?>

Jokaisen sivun alussa on pätkä:

<?php session_start(); ?>

Yritin etsiä vikaa 4 tuntia putkeen, sitten paloi naama sen verran että päätin aloittaa uuden aiheen jos joku täältä tietäsi. Aikaisempi sivusto toimi hyvin lähes samalla tavalla, mutta vaikka kuinka yritin tehdä vanhan kirjautumissysteemin mukaan tuota niin aina sama...

Ihan kuin $_SESSION[] -muuttuja häviäisi sivunvaihdossa johonkin, siltä ongelma vaikuttaa. Olen tarkastanut pilkut ja heittomerkit ja typot yms moneen kertaan, joten niitä ei pitäisi olla.

En kertakaikkiaan voi tajuta missä vika voi olla vai onko sellaista edes?

Olisi kiva jos saisin vastauksia mahdollisimman nopeasti ja toivon että edes joku voisi auttaa minua ko. asiassa.

Kiitos!

ajv [15.07.2004 20:58:17]

#

Hyh hyh! Kurkit käyttäjien salasanoja vai? Missäs on salasanan kryptaus :P

Itse ongelmaan on ulkopuolisten varmaan vielä vaikeampi vastata. Itellä sessiot ei toiminu himaservulla, kun ei ollu asetettu php.inissä niille hakemistoa/hakemistoa ei ollut. Jotenkin haiskahtaisi, että ongelma on jossain palvelimen puolella. Ei muuta kuin tulostat kaikki mahdolliset muuttujat jok'ikiseen väliin ja sitä kautta alat vikaa ettiin...

Teme [17.07.2004 03:09:42]

#

Joo, pitää testaa kaikki läpi.

Teme [17.07.2004 03:13:09]

#

Niin ja sitä passun kryptausta ei vielä oo tossa, teen sen kyllä :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta