![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 12 Dołączył: 1.05.2011 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Mam do zaprezentowania prosty system znajomych oparty na zwracaniu stringów. Proszę o ocenę kodu.
Zmienne: $myid - id lub login zalogowanego użytkownika $friendid - id lub login znajomego # Jeśli używasz loginów to $myid i $friendid muszą być loginami użytkowników. (z id podobnie)
Jest to całość skryptu. Jeśli macie jakieś pytania, pisać tutaj (IMG:style_emoticons/default/smile.gif) ------------------------------------------------ Jeśli jesteś zainteresowany jego użyciem nie usuwaj informacji o autorze. Ten post edytował MrCoody 10.07.2013, 16:47:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Skoro piszesz coś, czego będą w domyśle używać też inni, to podejdź do tego na poważnie. Z obiektowością to nie ma za dużo wspólnego, poza nazwą class na początku.
Narzucasz nazwy tabel, jeśli tak chcesz, to w takim razie sprawdzaj czy są, jeśli nie, to twórz je z poziomu klasy. Ale wypadałoby dać możliwość podczas tworzenia obiektu, z jakich tabel chcemy korzystać. Używanie mysql_* oznacza, że bez patrzenia, można klasę wyrzucić do kosza. Usuwanie znajomych odbywa się tylko za pomocą parametrów z id. Chyba warto byłoby już wewnątrz klasy to jakoś zabezpieczyć, np przy tworzeniu obiektu podaję jaka zmienna sesyjna u mnie odpowiada za ID użytkownika i Ty weryfikujesz w metodzie, czy usuwa użytkownika ze znajomych, jego prawowity znajomy, czy też nie. IFy jakoś dziwnie się duplikują. Po kodzie już widać, że podatne na wszelkie możliwe ataki SQL injection, nie widzę też żeby stringi pobierane z bazy były czyszczone z niepowołanych znaczników. Pisząc to dla siebie, mogłoby być, ale skoro chcesz to udostępniać, to nie ma racji bytu, ja żeby móc skorzystać wydajnie z Twojej klasy, muszę zrobić mnóstwo innych rzeczy, m.in. właśnie weryfikacja czy rzeczywisty użytkownik usuwa swojego znajomego. A powinno być tak, że tworzę obiekt i o nic się nie martwię, wiem jakich typów danych klasa się spodziewa itd. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 05:25 |