<?php // Wyciagamy dane do logowanie z cookie, jesli tam sa // jesli dane do logowania sa w cookie if ($_POST[spr_form] != 'tak' and $ciastko[2] == 'on' and $_SESSION[dodano] != 'tak') { $_SESSION['login'] = $ciastko[0]; $_SESSION['pass'] = $ciastko[1]; $_SESSION['wizyta'] = $ciastko[2]; } // je¶li danych do logowania nie ma w cookie elseif ($_POST[spr_form] == 'tak' and $_SESSION[dodano] != 'tak') { $_SESSION['login'] = $_POST[login]; $_SESSION['pass'] = $pass_szyfr; $_SESSION['wizyta'] = $_POST[wizyta]; } // Sprawdzamy poprawność danych użytkowanika w bazie $baza->query(\"SELECT COUNT(user_id) AS count, user_id, username FROM uzytkownicy WHERE username LIKE '$_SESSION[login]' AND user_password LIKE '$_SESSION[pass]' AND akt!=0 GROUP BY user_id\", \"y\"); $user = $baza->query_array; { $ok_logowanie = 'zle'; } { $ok_logowanie = 'ok'; setcookie (\"logowanie\", \"$_SESSION[login];$_SESSION[pass];$_SESSION[wizyta]\", time()+31536000, \"/\"); } ?>
Najwazniejszy w tym wszystkim jest błąd (?) przy zapytaniu do bazy. Jest tam kolumna 'akt', w której zapisane jest czy użytkownik ma już aktywowane konto (wartość: 1), czy też jeszcze nie (wartość: 0). Gdy sprawdzam u siebie na localhoście, na serwerze wszystko niby jest ok, ale gdy sprawdziłem okazało się, że spora liczba użytkowników loguje się choć mają nieaktywowane konta! W kolumnie 'akt' mają wartość '0' i mimo to logują się choć w zapytaniu do bazy jest wyraźnie zapisane: akt!=0.
Najgorsze jest to, że ja nie mogę określić dlaczego np. ja mając zapisane
w 'akt' wartość '0' nie mogę się zalogować, a ktoś inny może! Przecież
wszystko jest wykonywane po stronie serwera, więc powinno działać jednakowo dla wszystkich :/
Ja już padam przy tym. Troszkę to długie i większości pewnie nawet nie
będzie chciało się czytać, ale byłbym baaaardzo wdzięczny za pomoc...