Witam prezentuje mój skrypt logowania:
<?php
include('funkcje/funkcje_strona.php');
include('funkcje/funkcje_baza.php');
?>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="/style.css " type="text/css">
</head>
<?php
if($_GET['login'] == 'check'){
$user_login = $_POST["user_login"];
$user_password = $_POST["user_password"];
if($user_login == "" || $user_password == "") {
func_wiadomosc('Błąd!', 'Nie wpisałeś loginu lub hasła!', '4', 'index.php');
}
else {
db_connect();
$query = "SELECT * FROM users WHERE user_login = '$user_login' AND user_password = '$user_password'";
if($row['user_login'] !== $user_login && $row['user_password'] !== $user_password) {
func_wiadomosc('Błąd!', 'Podane dane się nie zgadzają.', '4', 'index.php');
}
else {
$_SESSION['sesja'] = 'istnieje';
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['user_login'] = $row['user_login'];
$_SESSION['user_email'] = $row['user_email'];
$_SESSION['user_name'] = $row['user_name'];
$_SESSION['user_city'] = $row['user_city'];
$_SESSION['user_gg'] = $row['user_gg'];
$_SESSION['user_lastlogin'] = $row['user_lastlogin'];
$_SESSION['user_joindate'] = $row['user_joindate'];
$_SESSION['user_position'] = $row['user_position'];
func_wiadomosc('Witamy '.$_SESSION['user_login'].'!', 'Poprawnie zalogowano.', '4', 'index.php');
}
}
}
if($_GET['login'] == 'wyloguj') {
if($_SESSION['sesja'] != 'istnieje'){
func_wiadomosc('Żegnaj '.$_SESSION['user_login'].'!', 'Poprawnie wylogowano!', '4', 'index.php');
}
}
?>
Jest jedno ale. Skrypt ten działa z opóźnieniem tzn gdy próbuje się logować skrypt wykonuje wszystko poprawnie. Wyskakuje mi okienko poprawnie zalogowano i przenosi mnie po 4 sekundach do index.php, jednak ukazuje mi się nadal formularz logowania, gdy odświeże stronę wszystko jest ok zalogowało. Tak samo jest przy wylogowywaniu: klikam wyloguj, wyskakuje okienko wylogowało ale tak naprawdę nie wylogowało i z powrotem przenosi mnie do wylogowywania. Gdy spróbuje następnym razem wszystko jest ok. Tak jakby usuwało zmienne sesji po czasie i przy logowaniu tak jakby tworzyło zmienne sesji z małym opóźnieniem. Czym może to być spowodowane?