Mam zrobione logowanie na stronie. Niby działa po wpisaniu loginu i hasła widać treść tylko dla zalogowanych ale gdy kliknie się jakąś podstronę tak jakby automatycznie wylogowuje. Nie wiem co jest źle. Wylogowanie jeszcze nie robiłem w ogóle.
login.php:
<?PHPsession_start();?>
<?PHP
$link = mysql_connect("localhost", "login", "haslo") or die ("Nie można połączyć się z bazą");
mysql_select_db("login") or die('Nie można wybrać bazy danych: ' . mysql_error());
if($link) echo "Połączono z bazą";
?>
<?PHP
if(isset($_POST['zaloguj'])) {
if(mysql_num_rows(mysql_query("SELECT login, haslo
FROM konta WHERE login = '".$_POST['login']."'
&& haslo = '".$_POST['haslo']."' ")) > 0) {
if(mysql_num_rows(mysql_query("SELECT id_k FROM konta
WHERE login = '".$_POST['login']."'
&& haslo = '".$_POST['haslo']."' ")) > 0 ) {
$_SESSION['zalogowany'] = true;
$_SESSION['login'] = $_POST['login'];
$_SESSION['haslo'] = $_POST['haslo'];
echo "Jesteś zalogowany.";
} else {
echo "Złe hasło, proszę spróbować ponownie";
}
} else {
echo "Nie ma takiego użytkownika";
}
}
?>
<h2>Logowanie</h2>
<form action="http://localhost/www/index.php?menu=7" method="POST">
<table>
<tr>
<td width="150">Login: </td>
<td width="150"><input type="text" name="login" value="<?php if(isset($_POST['login'])) echo $_POST['login'];?> "/></td>
<td width="300"><?PHP echo $info_txt_nick;?></td>
</tr>
<tr>
<td width="150">Hasło: </td>
<td width="150"><input type="password" name="haslo"/></td>
<td width="300"><?PHP echo $info_txt_haslo;?> </td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="zaloguj" value="zaloguj" /></td>
</tr>
</table>
</form>
w index.php tak mam zrobione sprawdzanie czy ktos jest zalogowany:
<?php
if (isset($_SESSION['zalogowany']))
{
echo "tresc dla zalogowanych";
}
else
{
echo "buahaha jesteś niezarejestrowany";
}
?>