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 »
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
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
22
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Anonymous upubliczniają 1,7 GB danych wykradzionych Departamentowi Sprawiedliwości USA
12
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Zostań webmasterem polskiego rządu, zarobisz na komfortowe życie dla siebie i swojej rodziny
33
Społeczność
anga star za droga ludzie wy myślicie!?Jestem 4 klasistką rodzice się nigdy nie...
Jan Zwyczajnych filmów tak kręcić się nie da co najwyżej krótkie scenki jak w...
piotrek____ @asdfgh - yup, też tak sądzę.
Tak jak wtedy ten przeciek o żołnierzu...
gonzales Javowcy pozdrawiają dotnetowców xD
kaziks Galaxy S II - u mnie po aktualizacji Firefox działa strasznie zacina się...
Doniek Szkoda że strona z demo nie działa - non stop się przeładowuje
bartez Niech zaczną jeszcze bardziej ograniczać programistów, to zdziwią się ilu...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- 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)
Polecane książki
Praca
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