To jest kod który nie wygasa.
<?php ?> if(isset($_POST['iduzytkownika']) && isset($_POST['haslo'])) { // jeżeli użytkownik właśnie podjął próbę zalogowania $iduzytkownika = $_POST['iduzytkownika']; $haslo = $_POST['haslo']; include('polaczzbaza'); if (mysqli_connect_errno()) { echo 'Połączenie z bazą danych nie powiodło się: '.mysqli_connect_error(); exit(); } $zapytanie = 'select * from handlowiec ' ."where nazwisko='$iduzytkownika' " ." and haslo='$haslo' "; $wynik = $bd_lacz->query($zapytanie); if($wynik->num_rows > 0) { // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika $_SESSION['prawid_uzyt'] = $iduzytkownika; } } if(isset($_SESSION['prawid_uzyt'])) { jeśli istnieje uzytkownik to....(instrukcje) } } else { if(isset($iduzytkownika)) { // jeżeli próba logowania była nieudana echo 'Zalogowanie niemożliwe.<br />'; } else { // nie było próby logowania lub nastąpiło wylogowanie echo 'Użytkownik niezalogowany.<br />'; } // tworzenie formularza logowania (instrukcje)
a teraz ten który (nie dziala)
<?php ?> if(isset($_POST['iduzytkownika']) && isset($_POST['haslo'])) { // jeżeli użytkownik właśnie podjął próbę zalogowania $iduzytkownika = $_POST['iduzytkownika']; $haslo = $_POST['haslo']; include('polaczzbaza'); if (mysqli_connect_errno()) { echo 'Połączenie z bazą danych nie powiodło się: '.mysqli_connect_error(); exit(); } $zapytanie = 'select * from handlowiec ' ."where nazwisko='$iduzytkownika' " ." and haslo='$haslo' "; $wynik = $bd_lacz->query($zapytanie); if($wynik->num_rows > 0) { // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika $_SESSION['prawid_uzyt'] = $iduzytkownika; } zapytanie1="select * from handlowiec where login='$iduzytkownika'"; $idzapytania1 = mysql_query ($zapytanie1); while ($wiersz1 = mysql_fetch_array($idzapytania1)) { $active=$wiersz1[4]; } } if(isset($_SESSION['prawid_uzyt']) && $active=='yes') { jeśli istnieje uzytkownik to....(instrukcje) } } else if(isset($_SESSION['prawid_uzyt']) && $active=='no') { jeżeli konto uzytkownika jest niekatywne to (instrukcje) } else { if(isset($iduzytkownika)) { // jeżeli próba logowania była nieudana echo 'Zalogowanie niemożliwe.<br />'; } else { // nie było próby logowania lub nastąpiło wylogowanie echo 'Użytkownik niezalogowany.<br />'; } // tworzenie formularza logowania (instrukcje)
Ciekawi mnie dlaczego tak się dzieje
Sam sobie odpowiem ale może komuś się to przyda.
$active też musi mieć postać SESSION - dlatego, że po powrocie czy odświeżeniu system już go nie pobiera z bazy.