Witam.
Wczoraj dwa, a dzisiaj kolejny problem z tworzeniem skryptu logowania wg. 2. odcinka kursu PHP. Utknąłem na etapie, gdy trzeba zrobić, że gdy użytkownik ręcznie wpisze adres dostępny tylko dla zalogowanych to by go od razu przekierowało do index.php. To niby działa i nie da się wejść w stronę dostępną dla zalogowanych bez próby logowania, natomiast teraz gdy próbuję się zalogować z użyciem poprawnych danych to przeglądarka wyświetla komunikat:
"Ta strona internetowa zawiera pętlę przekierowań - ERR_TOO_MANY_REDIRECTS" i nie da się zalogować.
Kod pliku zaloguj.php:
<?php
session_start();
require_once "connect.php";
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
}
else
{
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$sql = "SELECT * FROM uzytkownicy WHERE user='$login' AND password='$haslo'";
if ($rezultat = @$polaczenie->query($sql))
{
$ilu_userow = $rezultat->num_rows;
if($ilu_userow>0)
{
$_SESSION['zalogowany'] = true;
$wiersz = $rezultat->fetch_assoc();
$_SESSION['id'] = $wiersz['id'];
$_SESSION['user'] = $wiersz['user'];
unset($_SESSION['blad']);
$rezultat->free_result();
header('Location: uzytkownik.php');
}
else
{
$_SESSION['blad'] = '<span style="color: #4f4f4f; font-size: 13px; margin-top: 5px;">Nieprawidłowy login lub hasło!</span>';
header('Location: login.php');
}
}
$polaczenie->close();
}
?>
Kod PHP pliku login.php
<?php
session_start();
if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
{
header('Location: uzytkownik.php');
exit();
}
?>
Kod pliku dostępnego dla zalogowanych:
<?php
session_start();
if (!isset($_SESSION['zalogowany']));
{
header('Location: login.php');
exit();
}
?>
Z góry dziękuję za pomoc :)