![]() |
Pytanie o poprawność kodu ;) - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: Pytanie o poprawność kodu ;) (/thread-pytanie-o-poprawno%C5%9Bc-kodu) |
Pytanie o poprawność kodu ;) - LoBo - 31-03-2011 Witam. Od niedawna uczę się programowania dlatego proszę nie negować za bardzo ![]() Aktualnie pisze na swoje potrzeby cms i jestem na etapie komentarzy do newsów. Wszystko działa prawidłowo, natomiast mam pytanie czy ten podwójny odczyt z bazy danych by wyciągnąć komentarz z jednej i login autora z drugiej tabeli można jakoś inaczej zastąpić czy tak po prostu musi byc i jest to prawidłowe. Kod PHP: <?php Za porady/sugestie z góry dziękuję ![]() RE: Pytanie o poprawność kodu ;) - R_Rafalsky - 31-03-2011 Można ale tak też jest prawidłowe (i łatwiejsze). Staraj się pisać w aktualnych standardach, zapomnij o tabelkach, zapomnij o czymś takim: font color="#0000FF". Skrypt jest niebezpieczny. Po pierwsze włączamy error_reporting tylko dla własnych potrzeb. Jak strona gotowa to koniecznie wyłącz pokazywanie jakichkolwiek błędów. Im świat mniej wie o budowie strony tym lepiej. A po drugie ciekawostka dla Ciebie. jeżeli wejdę na adres index.php?nid=1'+or+1=1 to co się stanie? RE: Pytanie o poprawność kodu ;) - LoBo - 01-04-2011 Generalnie rzecz biorąc to raportowania nie zostawiam i używam tylko dla własnych potrzeb, a że próbuję sklecić komentowanie co jest "in progress" to i raportowanie sobie załączam ![]() Co do tabelek to tez się dużo naczytałem, że tego się nie używa no ale jak na razie skupiam się na nauczeniu php+mysql, później zajmę się smartami divami i CSS (nie wszystko na raz ![]() Co do nid=1'+or+1=1 zrobiłem i nic sie nie stało Cytat:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/HTTP/dawid/includes/news_komentarze.php on line 8Ale domyślam się że chodzi o żebym użył htmlspecialchars oraz strip_tags ?? RE: Pytanie o poprawność kodu ;) - Pedro84 - 01-04-2011 Ja bym jednak już od początku nie mieszał logiki z warstwą prezentacji. 1. Kod: $nid=$_GET['nid']; 2. Bezsensownie komentujesz kod. Po co komentujesz oczywiste zapytanie zaśmiecając kod? 3. Wiesz co to są wcięcia, po co się je stosuje? RE: Pytanie o poprawność kodu ;) - LoBo - 01-04-2011 1. nie bardzo rozumiem o co chodzi, co zmienić ? 2. Komentuje żeby się nie pogubić 3. Wiem Co to są wcięcia, nie wiem po co się stosuje ![]() Generalnie dopiero uczę się kodowania dlatego proszę o wyjaśnienie co poprawić, co zmienić,jak obronić się przed SQL injection. w tym przykładzie. RE: Pytanie o poprawność kodu ;) - Pedro84 - 01-04-2011 1. Poczytaj: http://blogophp.com/2008/10/13/rozdzielenie-warstw-aplikacji/ 2. To bezsensu. Uczysz się złych nawyków. Pisz kod tak, aby sam się komentował. Nazywaj poprawnie zmienne, zastosuj jedną konwencję, etc. 3. Żeby kod był czytelny, Twój nie jest. 4. Poczytaj: http://php.net/manual/pl/function.mysql-real-escape-string.php RE: Pytanie o poprawność kodu ;) - KowR - 01-04-2011 Wracając do dwóch zapytań... Lepiej złączyć je. Poczytaj o typach złączeń: LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOIN. Dzięki jednemu zapytaniu pobierzesz wszystko co tylko Ci potrzeba bez pętli w pętli. Resztę koledzy już wypisali. ![]() RE: Pytanie o poprawność kodu ;) - LoBo - 05-04-2011 Ciąg dalszy mojej nauki php z wziętymi waszymi radami, generalnie testuję bez logowania dlatego id użytkownika nie jest jeszcze zdefiniowane/pobierane tak samo sesja. Prosze o ocenę czy czytelność/jakość kodu oraz bezpieczeństwo się poprawiły czy tylko mi się wydaje oraz co jeszcze mogę zastosować i poprawić by kod był lepszy. PS: zaznaczam, że dopiero się ucze także o smarty, PDO, CSS czy innych zaawansowanych (i tych mniej zaawansowanych) technikach na razie nie ma mowy. Póki co skupiam sie na zrozumieniu kodowania. Kod PHP: <?php |