Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie sesje i bazy danych obiektowo
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
JohnySpot
1) Jeżeli 3mam dane o userze i mam na stronie bazę userów, księgi gości (gdzie mogą wpisywać się goście) i forum tylko dla zalogowanych użytkowników. Każdy user ma swoje ID. Czy w księdze gości i w forum trzymać tylko treść i tytuł ew. datę utworzenia i dane o userach pobierać kolejnym zapytaniem z bazy danych o użytkownikach, czy zapisywać te dane jeszcze raz (nick, mail, etc...) ? W bazie danych księgi gości i forum ?

2) Zastanawiałem się nad obiektem "user". Miałby na bank metody typu: dodaj, usuń, uaktualnij etc... ale tego typu metody mają sens tylko z punktu "rejestracji" i administracji użytkownikami. Są kompletnie nie potrzebne po zalogowaniu usera... I teraz mam pytanie. Rozumiem, że obiekt to coś co ma się dowoływać np. do użytkownika posiadać jakieś właściwości i metody. Z jednej strony jest przydatny adminowi (utwórz, dodaj, sprawdź, szukaj, usuń etcc..... ) z drugiej jego właściwości (mail, nick, ostatnie logowanie, ID etc... ) użytkownikowi , który się zaloguje. Mu natomiast kompletnie nie jest potrzebne to co Adminowi. Wynika z tego, że to co jest potrzebne userowi wcale nie musi dotyczyć klasy, wręcz przeciwnie to co tyczy się klasy z "userem" jako takim nie ma nic wspólnego, bo jest to TYLKO zbiór jakiś zmiennych. I teraz pytanie. Skoro dane te mam w bazie danych to co jest najlepsze. Tworzyć klasę która podczas logowania tworzy się szuka odpowiednich danych , nadaje sobie właściwości usera (nick, avatar .... ) i trzyma je przez cały czas, zarejestrować WSZYSTKO jako sesje i trzymać e-mail i inne informacje jako sesje, czy też może pobierać wszystko za każdym razem z bazy danych ?

3) Rozumiem, że includowanie nie jest chyba złym pomysłem jeżeli chodzi o obsługę strony... Mam dwa pytania. 1) Widziałem kiedyś, stronę na której gość całą treść ładował do zmiennej a potem jendnych "echo" ją wyświetlał. Miało to sens w jego zastsowaniu i działało bezbłędnie. Jak to z tym właściwie jest ? I drugie. Czy jak
includuje stronę w zależności od GET np.

  1. <?php
  2. $_GET['dzial'].='.php';
  3. include($_GET['dzial']);
  4. ?>


itp... to czy wszystkie formularze (do rejstracji zmiany hasła etc... ) mam projektować w konkretnych plikach strukturalnie... ich obsługę i wyświetlanie, czy władować do klasy mnustwo funkcji, które będą projektowały formularz i wyświetały go robiąc np.

  1. <?php(klasa)
  2. [...]
  3. function pokaz_form_haslo() {
  4. $tresc='[...]';
  5. return $tresc;
  6. }
  7.  
  8. (plik wlasciwy)
  9. [...]
  10. echo $cos_tam->pokaz_form_haslo();
  11. [...]
  12. ?>


Czy może właśnie robić te fragmenty strukturalnie... ?

4) Jeżeli dalej rozpatrywać klasę użytkownika...to mógłby mieć kilka właściwości np: pokaż avatar, dodaj news, dodaj wpis, dodaj wątek.... i w sumie wyszła by z tego super universalna klaa... a jak wiadomo można stworzyć klasę "news", "post", "forum" czy rózne inne... jak podzielić w zwizu z tym "możliwości usera" na "inne klasy innych elemtów strony"
Ociu
Formularze: Ja tworzę sobie fukcję (to [string], input [int](0), input_data [array] (null), textarea [int](0), textarea_data [array](null)). Chyba nie musze tłumaczyć jak co i gdzie.
4. Utwórz sobie klasę permission (dostęp)
JohnySpot
Mam jeszcze jedno pytanie... kiedy includuje strony, chciałbym aby cała "otoczka", która pozostaje stała nie wgrywała się jeszcze raz. Jak to uzyskać ? Za każdym razem ładuje mi się ponownie cała strona.
ebe
Cytat
Mam jeszcze jedno pytanie... kiedy includuje strony, chciałbym aby cała "otoczka", która pozostaje stała nie wgrywała się jeszcze raz. Jak to uzyskać ? Za każdym razem ładuje mi się ponownie cała strona.


W tym celu możesz wykorzystać AJAXA. W czystym php strona się będzie zawsze przeładowywała bo działa po stronie serwera.

Cytat
Jeżeli dalej rozpatrywać klasę użytkownika...to mógłby mieć kilka właściwości np: pokaż avatar, dodaj news, dodaj wpis, dodaj wątek.... i w sumie wyszła by z tego super universalna klaa... a jak wiadomo można stworzyć klasę "news", "post", "forum" czy rózne inne... jak podzielić w zwizu z tym "możliwości usera" na "inne klasy innych elemtów strony"


Dawanie metod klasie uzytkownika metod: dodaj news, dodaj wpis, dodaj wątek jest bezsensowana, nieprawidłowa i idiotyczna. W klasie news masz metodę dodajNews() która dodaje newsa jeśli chcesz aby news miał autora to w klasie news dajesz metodę setAuthor(Member $member) która sprawi że autorem tego newsa będzie $member klasy Member. Wszystko to robisz w akcji.
JohnySpot
1) Wracając do pytania, do którego nikt mi jeszcze nie udzilelił odpowiedzi. Co jest bardziej opłacalne. Wczytać wszystkie dane z bazy do sesji i je trzymać aby zrezygnować z odwołań do bazy przy pobieraniu danych usera ?

2) Wpisywać wszystkie dane do każdej bazy, czy wykonywać dwa zapytania. Np. tylko do forum, a potem do bazy użytkowników ?
Ociu
Cytat
1) Wracając do pytania, do którego nikt mi jeszcze nie udzilelił odpowiedzi. Co jest bardziej opłacalne. Wczytać wszystkie dane z bazy do sesji i je trzymać aby zrezygnować z odwołań do bazy przy pobieraniu danych usera ?

a) z sesji php'owych ? sesja najczęściej ginie, gdy zamkniesz okno przeglądarki, czyli tak czy inaczej musisz je za drugim razekm pobrać
cool.gif z sesji w bazie ? Możesz to robić tworząc np. tablicę session (public $session = array()) i do niej wrzucać wszelkie dane, tylko wtedy nie ma ich, a są Ci potrzebne.
Niedawno seaquest podpowiedział mi, że można zrobić $Obiekt['var']; a wszystko to gdy nazwa klasy jest taka sama, jak tej tablicy i masz takie coś:
  1. <?php
  2. class session extends ArrayObject implements ArrayAccess
  3. ?>
IMHO, przykład b jest lepsiejszy.

Cytat
2) Wpisywać wszystkie dane do każdej bazy, czy wykonywać dwa zapytania. Np. tylko do forum, a potem do bazy użytkowników ?
IMHO sposób drugi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.