Po ostatniej wpadce ze stronką chciałbym zasięgnąć opinii bardziej doświadczonych programistów, a że nie mam kogo się poradzić pisze dlatego na tym forum.
Oto kod:
<?php class Uzytkownik { private $bazaDanych; //łączenie z bazą danych public function polaczZBazaDanych() { $this->bazaDanych = new mysqli('localhost','uzytkownik','haslo','bazaDanych'); } //reozlaczenie z baza danych public function rozlaczZBazaDanych() { $this->bazaDanych->close(); } //walidacja danych wprowadzonych przez użytkownika private function walidacja($dana) { //do uzupełnienia return $dana; } //rejestracja użytkownika public function zarejestrujUzytkownik($login,$email,$haslo1,$haslo2) { //łączenie z bazą danych $this->polaczZBazaDanych(); //walidacja czterech zmiennych $login = $this->walidacja($login); $email = $this->walidacja($email); $haslo1 = $this->walidacja($haslo1); $haslo2 = $this->walidacja($haslo2); //zapytanie czy istnieje użytkownik o podanym loginie lub mailu $sqlSprawdzenieCzyIstniejeUzytkownikWBazieDanych = "SELECT * FROM uzytkownicy WHERE loginU = '".$login."' OR email = '".$email."' "; //wykonanie powyższego zapytania $rezultatSprawdzenia = $this->bazaDanych->query($sqlSprawdzenieCzyIstniejeUzytkownikWBazieDanych); //jezeli znaleziono użytkownika o takim samym loginie lub emailu if ($rezultatSprawdzenia->num_rows > 0) { echo "<span class='zle'>Użytkownik o takim samym loginie lub email-u instnieje, Rejesrtacja nie powiodła się</span>"; return false; } else { //sprawdzenie czy hasła są identyczne if ($haslo1 != $haslo2) { //jeżeli nie są identyczne hasła odpowiedni komunikat return false; } //zapytanie - rejestracja użytkownika - zapisanie do bazy danych $sqlRejestracjaUzytkownik = "INSERT INTO uzytkownicy (loginU,email,haslo) VALUES ('".$login."','".$email."',SHA1('".$haslo1."'))"; //wykonanie powyższego zapytania $rezultat = $this->bazaDanych->query($sqlRejestracjaUzytkownik); //jeżli rejestracja się powiodła odpowiedni komunikat if ($rezultat) //jeżeli rejestracja się nie powiodła odpowiedni komunikat else } $this->rozlaczZBazaDanych(); } //logowanie użytkownika public function zalogujUzytkownik($login,$haslo) { //walidacja $login = $this->walidacja($login); $haslo = $this->walidacja($haslo); //łączymy z bazą danych $this->polaczZBazaDanych(); //zapytanie czy ligin i hasło się zgadzają $sqlLogowanie = "SELECT * FROM uzytkownicy WHERE loginU = '".$login."' AND haslo = SHA1('".$haslo."')"; //wykonanie powyższego zapytania $rezultatLogowanie = $this->bazaDanych->query($sqlLogowanie); //jeżeli znaleziono dane o takim użytkowniku to logujemy if ($rezultatLogowanie->num_rows == 1) { $rezultatLogowanie = $rezultatLogowanie->fetch_assoc(); //ustawienie sesji użytkownika - przechowuje login użytkownika $_SESSION['uzytkownik'] = $rezultatLogowanie['loginU']; //odpowiedzni komunikat po zalogowaniu echo "<span class='ok'>Zalogowano użytkownika ".$_SESSION['uzytkownik']." <a href='uzytkownik.php?akcja=wyloguj'>Wyloguj</a></span>"; } else { //nie znaleziono użytkownika o takich danych - odpowiedni komunikat o tym fakcie }//rozłączamyh z bazą danych $this->rozlaczZBazaDanych(); } //wylogowywanie public function wyloguj() { //usuwanie zmiennej sesji //odpowiedni komunikat informujący o wylogowaniu } //pokazujemy info o zalogowanym użytkowniku lub o braku zalogowania public function czyZalogowano() { //w zależności o istnieniu sesji użytkownika odpowiednia informacja echo "<span class='ok'>Zalogowano jako ".$_SESSION['uzytkownik']."<a href='uzytkownik.php?akcja=wyloguj' >Wyloguj</a></a></span>"; else echo "<span><a href='uzytkownik.php?akcja=zalogujFormularz'>Nie jesteś zalogowany - zaloguj się</a></span>"; } } ?>
Za ocenę dziękuję