Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Przebudowa klas/struktura klas
Matkas
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.02.2011

Ostrzeżenie: (0%)
-----


Witam,
jako iż to mój pierwszy post na tym forum to wypadałoby się przedstawić.
Jestem 17nastolatkiem , który dopiero co raczkuje w php, pochodzącym z bardzo znanego miasta Bogatynia(7.08.2010), a na imię mam Mateusz! (IMG:style_emoticons/default/smile.gif)

A przechodząc do mojego problemu, to dawniej napisałem system logowania(o ile można to tak nazwać), ale teraz jak jestem starszy i mądrzejszy, to chciałbym Go przebudować, i zaczać bardziej doceniać OOP. Oczywiście wiem, że wszystko jest tu źle, dlattego chciałbym napisać wszystko od początku. Próbuje sobie uzmysłowić ile klas potrzebuje do logowania, i chodzenia po podstronach, w których wymagane jest zalogowanie.
Myślałem nad takimi:
class user_auth - Autoryzacja użytkownika, znajdują sie w niej funkcje potrzebne do zalogowania, informacje o użytkowniku(user_id itp.)
class session - Klasa zarządzająca sesjami oparta na bazie
class account_managment - Klasa do zarządzania kontem,zmiana haseł,informacji o profilu itd.

Problem mój polega na tym, że nie wiem jak te wszystkie 3 klasy połączyć, i w jaki sposób je dobrze napisać.
Próbowałem w mojej aktualnej klasie wprowadzić atrybuty, takie jak user_id,user_login,user_level. Lecz odwołując się do nich w innych plikach, nie uzyskuje żadnego rezultatu. Wygląda to mniejwięcej tak:

Nagłówek account.php
  1. require_once ("mainfile.php");

Nagłówek mainfile.php
  1. require_once('functions.php');
  2. require_once('config/config.php');
  3. require_once('class/class_database.php');
  4. require_once('class/class_account.php');
  5. $class_database = new class_database;
  6. $class_account = new class_account;


Lecz w obu tych plikach nie jestem w stanie odwołać się do $class_account->user_id;
W jaki sposób zoptymalizować klasy?


Poniżej skrypt logowania o którym wcześniej wspominałem.
  1. function login($login_in_login_form,$password_in_login_form)
  2. {
  3. $login_exist = $this->check_login_exist($login_in_login_form);
  4. //Sprawdza czy login wpisany w formularzu istnieje
  5. if($login_exist==TRUE)
  6. //Jesli istnieje to ->
  7. {
  8. $password_match = $this->confirm_password_in_login($login_in_login_form,$password_in_login_form);
  9. //Sprawdza czy haslo pasuje do loginu
  10. if($password_match == TRUE)
  11. //Jesli pasuje to ->
  12. {
  13. $if_activated = $this->check_account_activated($login_in_login_form);
  14. //Sprawdza czy konto jest aktywowane
  15. if($if_activated == TRUE)
  16. //Jesli konto aktywowane to->
  17. {
  18. $this->setsessions( $login_in_login_form);
  19. // Ustawia sesje
  20. $sucesfull = "Login sucesfull! In(".RELOAD_TIME." seconds) you'll be redirected.";
  21. $to_display .= display_good(redirect($sucesfull));
  22. //Funkcja `display_good` wyswietla tekst w odpowiednim 'pojemniku'
  23. //Funkcja `redirect` przekierowuje na daną strone(tu 'account'), i wyswietla komunikat.
  24.  
  25. }//Jesli konto nie aktywowane to
  26. else
  27. {
  28. $notactivated = "Account not activated";
  29. $to_display .= display_alert($notactivated));
  30. //Funkcje jak wyzej
  31. }
  32.  
  33. }//Jesli haslo nie pasuje to wyswietl na ekranie
  34. else
  35. {
  36. $to_display .= display_wrong("Bad password.");
  37. }
  38. }//Jesli login nie istnieje
  39. else
  40. {
  41. $to_display .= display_wrong("This user does not exist.");
  42. }
  43. return $to_display;//zwroc wynik
  44. }


Pozdrawiam, Mateusz
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 18:10