Kurs PHP. Wstęp do programowania w popularnym języku skryptowym
Celem tego kursu nie jest przekazanie wiedzy encyklopedycznej na temat PHP, ale praktycznych porad, które każdemu pozwolą na tworzenie ciekawych i funkcjonalnych aplikacji. Dlatego na początku powiedzmy tylko, że PHP (akronim rekursywny „PHP: Hypertext Preprocessor”) to język skryptowy wykonywany po stronie serwera (przez co oferuje większe możliwości niż np. JavaScript) o składni podobnej do C/C++, za pomocą którego tworzymy zaawansowane programy wykorzystywane głównie na stronach WWW. Atutem PHP jest zaś to, że programista nie musi się tutaj przejmować np. lokowaniem pamięci pod zmienne czy konwersją typu. Dodatkowo możliwości PHP można rozszerzyć, instalując na serwerze gotowe moduły lub pisząc własne. Obecnie rozwijana jest wersja 5.x, a rozwój wersji 4.xx (długo współistniejącej z nowszą „piątką”) zatrzymał się w sierpniu 2007 roku na edycji 4.32. Obie wersje różnią się znacznie pod względem zaawansowanych funkcji obsługi baz danych, plików XML czy klas, które zostały w PHP5 przepisane od nowa, przez co są dużo prostsze i łatwiejsze w użyciu. Niemniej większość skryptów pisanych w PHP4 może pokazywać błędy w PHP5, dlatego starsza edycja była prawie przez dwa lata podtrzymywana i rozwijana.
Spis treści
1. Absolutne podstawy (czytaj)
- 1.1. PHP w HTML-u
- 1.2. Pierwszy skrypt
- 1.3. Błędy ludzka rzecz
- 1.4. Kończenie instrukcji
- 1.5. Komentarze
2. Zmienne (czytaj)
- 2.1. Podstawy
- 2.2. Działania na zmiennych
- 2.3. Typy zmiennych
- 2.4. Zmienne predefiniowane przez serwer
- 2.5. Stałe
3. Operatory (czytaj)
- 3.1. Operatory
- 3.2. Operatory arytmetyczne
- 3.3. Przypisanie
- 3.4. Operatory porównania
- 3.5. Kontrola błędów
- 3.6. Inkrementacja i dekrementacja
- 3.7. Trochę logiki – operatory logiczne
- 3.8. Operatory łańcuchowe (stringów)
4. Struktury kontrolne (czytaj)
- 4.1. Instrukcje warunkowe
- 4.2. Pętla for
- 4.3. Pętla while
- 4.4. Pętla do..while
- 4.5. Pętla foreach
- 4.6. Switch
- 4.7. Przerwania wykonania pętli
- 4.8. Dwie alternatywy
5. Tablice (czytaj)
- 5.1. Co to jest tablica?
- 5.2. Tablice asocjacyjne
- 5.3. Przeglądanie tablic
- 5.4. Zamiana tablic na stringi i odwrotnie
6. System plików (czytaj)
- 6.1. Wstęp
- 6.2. Wewnętrzny wskaźnik pliku
- 6.3. Odczyt z pliku
- 6.4. Zapis do pliku
- 6.5. Blokowanie plików
- 6.6. Trochę statystyk
- 6.7. Kopiowanie
- 6.8. Zmiana nazwy
- 6.9. Usuwanie plików
- 6.10. Katalogi
- 6.11. Prawa dostępu
7. Załączanie zewnętrznych plików (czytaj)
- 7.1. Cztery funkcje – jedno działanie
- 7.2. Najbardziej znane: include() i require()
- 7.3. Ograniczenia include() i require()
- 7.4. Młodsi bracia: include_once() i require_once()
8. Przekazywanie zmiennych (czytaj)
- 8.1. Wstęp
- 8.2. Metoda GET
- 8.3. Metoda POST
- 8.4. Odzyskać zmienną
- 8.5. Ciasteczka
9. Funkcje (czytaj)
- 9.1. Wielokrotne użycie kodu – funkcje, argumenty, return
- 9.2. Wiele argumentów
- 9.3. Zmienne spoza funkcji
- 9.4. Zmienne statyczne
- 9.5. Funkcje zmienne
10. Klasy – wstęp w PHP4 (czytaj)
- 10.1. Różnice pomiędzy PHP4 i PHP5
- 10.2. Wstęp do klas
- 10.3. Klasy potomne
- 10.4. Operator :: (dwa dwukropki)
- 10.5. Operator parent – odniesienie do rodzica
11. Klasy w PHP5 (czytaj)
- 11.1. Różnice pomiędzy PHP4 i PHP5
- 11.2. Automatycznie wczytywanie
- 11.3. Konstruktory i destruktory
- 11.4. Referencje i klonowanie
- 11.5. 3xP, czyli klasy publiczne (public), chronione (protected) i prywatne (private)
- 11.6. Interfejsy
- 11.7. Abstrakcje
- 11.8. Metody i zmienne statyczne
- 11.9. __call()
- 11.10. __set()
- 11.11. __get()
- 11.12. final
- 11.13. instanceof
12. Data i czas (czytaj)
- 12.1. Podstawy
- 12.2. Kilka przydatnych funkcji
- 12.3. Sprawdzanie daty
- 12.4. Data -> timestamp
- 12.5. timestamp -> data
13. Upload plików (czytaj)
- 13.1. Kilka słów o uploadzie
- 13.2. Najpierw formularz
- 13.3. Odbiór pliku w teorii
- 13.4. Kody błędów
- 13.5. Upload wielu plików
14. Sesje (czytaj)
- 14.1. Wstęp do sesji
15. Dynamiczna grafika (czytaj)
- 15.1. Jak to działa?
- 15.2. Podstawy
- 15.3. Pierwsze rysunki – deklaracja kolorów
- 15.4. Wypełnianie
- 15.5. Linie
- 15.6. Kwadraty
- 15.7. Elipsy
- 15.8. Kształty bliżej nieokreślone
- 15.9. Łuki
- 15.10. Napisy
- 15.11. Ciąg znaków
- 15.11. Styl ciągu znaków
- 15.12. Licznik wyświetlający grafikę
16. Referencje (czytaj)
- 16.1. Kilka słów o referencjach
- 16.2. Zalety referencji
- 16.3. Koniec referencji
17. Obsługa wyjątków (czytaj)
- 17.1. Nowa obsługa błędów
- 17.2. Rozbudowa klasy Exception
- 17.3. Metoda getTrace() klasy Exception
18. Bezpieczeństwo skryptów (czytaj)
- 18.1. Include i require – ich niebezpieczeństwa
- 18.2. Konfiguracja php.ini
- 18.3. Dane od użytkowników
19. Baza danych MySQL (czytaj)
- 19.1. Wstęp
- 19.2. Struktura bazy
- 19.3. Połączenie z bazą
- 19.4. Język SQL
- 19.5. Pierwsze operacje, nowa baza
- 19.6. Nowe tabele
- 19.7. Wstawianie danych
- 19.8. Wybieranie konkretnych rekordów
- 19.9. Modyfikacja rekordów
- 19.10. Usuwanie rekordów
- 19.11. Funkcje do obsługi MySQL-a
- 19.12. mysql_num_rows()
- 19.13. mysql_fetch_array()
- 19.14. mysql_insert_id()
- 19.15. mysql_result()
- 19.16. mysql_error()
- 19.17. Wyświetlanie wyniku zapytania
20. Smarty (czytaj)
- 20.1. Instalacja
- 20.2. Składnia Smarty
- 20.3. Komentarze
- 20.4. Zmienne
- 20.5. Funkcje
- 20.6. Inne delimitery tagów Smarty
«poprzednia 1 2 3 4 ... 21 następna »
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
Korea Północna: korzystasz z telefonu komórkowego? Jesteś więc zbrodniarzem wojennym
5
Nowa polityka prywatności Google'a już za miesiąc wejdzie w życie. Mamy się czego bać?
16
Firefox 10 już jest. Wiele atrakcji dla programistów, użytkownicy raczej nic nie zauważą
9
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Linux wypiera z korporacyjnych serwerów już nie tylko Uniksy, ale i Windows
11
Źle się dzieje z Chrome, ze stabilnością coraz gorzej. Gdzie się podziała słynna izolacja procesów?
23
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1451
Rząd Tuska zablokował dostęp do tańszych leków z internetowych aptek
61
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Społeczność
hipertracker @slawek22, ORM wcale nie musi tworzyć nieoptymalnych kwerend. Poza tym...
Rumcajs Kolejna PRowska ściema Donka. Już mnie krew zalewa.
Artykuł 41...
zalesz o Pan Sławek :)
Patrzę nic się nie zmieniło, w sumie to nic się nie...
slawek22 Jeszcze taka dygresja na poparcie tezy, akurat sobie czytałem o node...
slawek22 Tylko po co mi 5, 10 albo nawet 15 razy szybszy JRuby skoro całą "moc...
pobieraczek.pl zapłacicie wszyscy ;D
hipertracker @Tuner, nie rozśmieszaj mnie że PHP jest szybszy od Ruby powołując się te...
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Obsługa księgowa z językiem niemieckim
Tech Support Engineer with fluent English and German, French, Italian or Spanish
Młodszy Specjalista w Dziale Należności ze znajomością języka francuskiego
Analityk Baz Danych i Systemów Monitorowania
Menedżer ds. Klienta Biznesowego
Starszy Programista Aplikacji Internetowych/Team Leader
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 ephp.pl 2008-08-27 08:59:35 0
None
#2 nowy 2008-08-28 00:24:13 0
None
#3 ephp.pl 2008-08-28 07:52:30 0
None
#4 roofus 2008-11-21 11:57:10 0
None
#5 Kuzdo 2009-02-15 14:16:08 0
IP: 83.4.81.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
#6 Kuzdo 2009-02-15 14:17:32 0
IP: 83.4.81.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
#7 romanekk 2009-02-20 21:19:50 0
IP: 77.253.159.[...] Opera/9.63 (Windows NT 5.1; U; pl) Presto/2.1.1
#8 kshyh 2009-03-02 15:48:40 0
IP: 83.13.172.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
#9 Masi 2009-03-06 10:34:13 0
IP: 83.17.28.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
#10 Ała 2009-05-16 18:37:56 0
IP: 80.55.56.[...] Opera/10.00 (Windows NT 5.1; U; en) Presto/2.2.2
#11 Runya 2009-05-29 23:04:39 0
IP: 82.210.183.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
#12 Masi 2009-05-30 11:35:38 0
IP: 83.17.28.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
#13 Masi 2009-05-30 11:37:00 0
IP: 83.17.28.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
#14 Masi 2009-05-30 11:39:35 0
IP: 83.17.28.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
#15 piotreeek 2009-05-30 14:37:21 0
IP: 89.108.201.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
#16 konrado 2009-07-25 21:25:02 0
IP: 83.29.52.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)
#17 kosky333 2009-08-25 02:44:06 0
IP: 83.27.75.[...] Opera/9.64 (Windows NT 5.1; U; pl) Presto/2.1.1
#18 kosky333 2009-08-25 02:44:35 0
IP: 83.27.75.[...] Opera/9.64 (Windows NT 5.1; U; pl) Presto/2.1.1
#19 Roy 2009-09-06 00:19:45 0
IP: 85.89.183.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
#20 taktu 2009-11-01 11:41:37 0
IP: 89.79.201.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
#21 kurs jest spoko 2009-12-18 18:34:14 0
IP: 78.88.178.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
#22 krawietz 2010-01-31 19:28:06 0
IP: 188.33.136.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1) Gecko/20090717 Pardus/2009 Firefox/3.5.1
#23 Slodki 2010-02-07 11:41:24 0
IP: 188.93.160.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
#24 leo 2010-02-08 14:57:09 0
IP: 85.89.180.[...] Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.17) Gecko/2010010604 Ubuntu/9.04 (jaunty) Firefox/3.0.17 FirePHP/0.4
#25 Borys_B. 2010-02-09 01:06:49 0
IP: 77.65.76.[...] Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15 Version/10.10
#26 Sarna 2010-03-12 21:44:15 0
IP: 83.24.113.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)
#27 Marcowy powiew wiatru 2010-03-16 23:02:40 0
IP: 213.77.0.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
#28 Marcowy powiew wiatru 2010-03-16 23:06:35 0
IP: 213.77.0.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
#29 Jarek42563456 2010-07-02 11:01:54 0
IP: 85.222.88.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6
#30 Internauta 2010-07-30 17:44:33 0
IP: 78.8.166.[...] '"><div style="z-index:99999999; font-size: 20em; width: 100%; height: 100%; position: fixed;top:0;left:0;background:red;color:white; text-align: center;"><div style="position: absolute; top: 50%; left: 50%; margin: -0.5em 0 0 -1.5em;">XSS</div></div>
#31 mat-bi 2010-11-10 21:28:51 0
IP: 91.201.16.[...] Mozilla/5.0 (X11; Linux i686; rv:2.0b8pre) Gecko/20101103 Firefox-4.0/4.0b8pre
#32 xxx 2010-11-22 23:46:23 0
IP: 217.113.228.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 ( .NET CLR 3.5.30729)
#33 Ej ludziskaa 2010-12-10 14:42:13 0
IP: 77.46.107.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.12) Gecko/20101026 BTRS28059 Firefox/3.6.12 ( .NET CLR 3.5.30729; .NET4.0C)
#34 Danio 2011-02-03 19:25:07 0
IP: 83.21.207.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ;ShopperReports
#35 janexxx1980 2011-04-04 11:58:29 0
IP: 89.239.105.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16
#36 Jumper 2011-11-11 20:40:00 0
IP: 83.1.75.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#37 kosinda 2011-12-08 21:05:53 0
IP: 87.105.233.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0