Olsz4k
10.10.2013, 21:12:19
Chciałem zapytać Was - doświadczonych programistów jak dalej się uczyć PHP. Od około pół roku siedzę w PHP i codziennie pogłębiałem swą wiedzę. Coś tam z prostych rzeczy już potrafię. Kształciłem się na podstawie książki Head First PHP & MySQL autorstwa Michael'a Morrison'a. Książka jak dla mnie nawet w porządku, przekazała mi dużo wiedzy i ciekawych rozwiązań.
Co teraz? Jaką książkę czy kurs byście polecili? Zależy mi na rozwijaniu mojej wiedzy niż na utrwalaniu, gdyż wszystko z tej książki zrobię bez problemu. Czuję że póki co mam problem z zabezpieczeniami moich stron, formularzy itp.
Byłbym wdzięczny za wskazówki i porady, ewentualnie jakieś linki.
teez
10.10.2013, 21:25:20
Teorię już jako tako znasz, może czas na praktykę?
Olsz4k
10.10.2013, 21:41:54
Co masz na myśli konkretnie? Oczywiście podczas czytania książki pisałem normalnie kod i wyszło dosyć sporo tego. Teorię znam, ale czuję, że jest to dopiero jako taki wstęp i przydało by się poznać dużo więcej i lepiej.
poszukaj na forum takich tematów już tu jest sporo

koledze po prostu chodziło o to, że pora zacząć pisać coś na własna rękę a nie kopiuj wklej z ksiażki
in5ane
10.10.2013, 22:23:04
No to jak znasz teorię, to pewnie wiesz co to komunikacja z bazą danych (czy to MySQL (najpopularniejsze) czy tekstową), sesje oraz jako takie zabezpieczenie wprowadzania danych (czyli np. mysql_real_escape_string dla MySQL lub, gdy PDO to samo, to za Ciebie załatwi). Jak znasz te trzy podstawowe zagadnienia, to spróbuj napisać system logowania. Czyli, wprowadzanie danych, wysyłanie ich metodą POST do sprawdzenia, czy są poprawne (np. nazwa użytkownika czy ma minimum 6 znaków, czy pole hasło jest takie samo jak pole powtórz hasło, czy adres e-mail to faktycznie adres e-mail (do tego przydadzą Ci się wyrażenia regularne (to akurat sobie poszukaj po forum, bo na pewno nie znasz)), następnie dodaj te dane do bazy danych i gotową masz rejestrację. Teraz logowanie, no to formularz z nazwą użytkownika i hasłem, przesłanie ich metodą POST (jak przy rejestracji) do sprawdzenia (i znowu przykładowo, czy login ma min. 6 znaków, czy hasło ma min. 6 znaków), jeśli to sprawdzenie się zgadza to próbujesz znaleźć te dane w bazie zapytaniem SELECT count(*) FROM users WHERE login = '$login' AND pass = '$pass' i jeśli zwróci Ci, że istnieje rekord w bazie, tzn. że ktoś poprawnie się zalogował. Jeśli poprawne logowanie to tworzysz sesje i ktoś może już chodzić po zakątkach strony dla zalogowanych.
W ten oto sposób dałem Ci zajęcie na co najmniej następne kilka dobrych dni (jak dla początkującego), jak napiszesz to sam, nie ściągając z książki oraz Internetu (nie wspominam tutaj ewentualnie o manualu) to będziesz na dobrej drodze. Później będziesz mógł się już w grubsze tematy zagłębiać. Pozdrawiam.
Olsz4k
10.10.2013, 22:51:50
In5ane, dziekuje bardzo za pomoc i podsuniecie pomyslu,ale takie cos juz robilem!
Udalo mi sie stworzyc nawet mini sklep internetowy z logowaniem, koszykiem itp. oczywiscie czasem musialem zajrzec do internetu no cos mi tam nie pasowalo, ale najwazniejsze ze rozumiem skladnie i wiem co sie dzieje w kodzie. Wiem, ze na pewno nie jest on dobrze zabezpkeczony (nie mowie tu o czyms takim jak sprawdzanie poprawnosci maila czg dlugosci loginu itp.) tylko o sprawach "glebszych".
Dlatego chcialbym sie dowiedziec sporo o zabezpieczaniu wlasnego kodu, tylko skad?
Ewentualnie macie jakis pomysl na kolejny projekt, juz ciezszy, ktory by mnie rozwinal?
Dziekuje bardzo za podpowiedzi!
gitbejbe
11.10.2013, 06:20:17
jak znasz te podstawowje mechanizmwy to zacznij teraz pisac cokolwiek - możesz nawet na nowo przepisać ten system logowania/rejestracji czy tez sklep, ale z rozdzieleniem kodu php od kodu html (coś ala MVC). Wszystkie dotychczasowe operacje zaczynaj opierac na złożonych funkcjach, tak, że finalnie system logowania będziesz mógł wywołac z np jednej linijki. Oczywiście pisanie tego wszystko strukturalnie mija się treoche z celem i zalecam uczyć się oop, ale takie coś z pewnością wymusi na Tobie nowy sposób myślenia i szukania rozwiązań. Staraj się swoje skrypty opierać na tablicach - np system validacji, gdzie wprowadzasz do jednej tablicy wszystkie dane a np jedna mocno rozbudowana funkcja (lub kilka) sprawdza tobie poprawnosc kazdej zmiennej. Innymi słowami, staraj się teeraz do swojego kodu wprowadzić porządek : ) Rozdziel aplikacje na 2 czesci - odpowiedzialną za wykonywanie skryptów oraz czesc odpowiedzialną za sam wygląd strony : )
ps: mimo wszystko polecam OOP. Ja sam od niedawna ucze sie tego sposobu myslenia i tak jak wcześniej byłem co do tego oporny, tak teraz widze, że to naparwde niesamowicie przyjazne narzędzie bez którego nei wyobrażam sobie pisania czegokolwiek : ) i co najfajniejsze, wcale nie jest takie trudne jak wygląda : ) w tydzień można załapać większość fajnych rzeczy i samemu napisać już coś fajnego
aniolekx
11.10.2013, 08:06:18
znajdź prace jako junior php developer, w takiej firmie w której będziesz miał się od kogo uczyć.
b4rt3kk
11.10.2013, 10:59:35
Cytat(aniolekx @ 11.10.2013, 09:06:18 )

znajdź prace jako junior php developer, w takiej firmie w której będziesz miał się od kogo uczyć.
Świetna rada wujku!
A wiedzę najlepiej rozwijać poprzez praktykę. Tj. twórz coś nowego i szukaj jak najbardziej optymalnych rozwiązań dla swoich projektów. Naucz się wzorców programistycznych.
Olsz4k
11.10.2013, 11:25:03
gitbejbe
Dzieki wielkii za rade. Szczerze mowiac nie wiem czym jest OOP, ale teraz sie tym zainteresuje
aniolekx
Pomysl fajny, ale poki co to nie wchodzi w gre - chodze do szkoly, a do tego jeszcze matura w tym roku...
b4rt3kk
Jasne, staram sie pisac jak najwiecej, jednak mam coraz mniej pomyslow, gdyz w wiekszosci projektow powielam juz niektore czynnosci, ktore mam dobrze opanowane.
aniolekx
11.10.2013, 12:46:04
Cytat(b4rt3kk @ 11.10.2013, 10:59:35 )

Świetna rada wujku!
A wiedzę najlepiej rozwijać poprzez praktykę. Tj. twórz coś nowego i szukaj jak najbardziej optymalnych rozwiązań dla swoich projektów. Naucz się wzorców programistycznych.
rady daje na podstawie mojego doświadczenia, gdy dostałem moja pierwsza prace związaną z programowaniem umiałem trochę programować w c++, a PHP nauczyłem się właśnie w tej pracy, bo miałem motywacje aby ta prace utrzymać, najpierw czyste PHP a później symfony.
Turson
11.10.2013, 12:52:56
aniolekx jak pracowałeś? Na stałe czy dorywczo+szkoła? Pytam, bo sam szukam tego rodzaju pracy przy studiach dziennych
aniolekx
12.10.2013, 08:04:26
studiowałem zaoczne (Uniwersytet Lodzki), tylko w weekendy, i ta forma studiów byla ok, bo nauczylem sie tego czego chcialem sie nauczyc, a praca to 8:16 pelen etat.
Turson
12.10.2013, 11:03:46
Też studiuję na UŁ (nie informatykę) ale dziennie, więc jest kłopot ze znalezieniem czegoś dorywczo...
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.