Osnovni tutorijal PHP8+
Osnove
Uvod u PHP jezik
Početak rada
Izvršavanje PHP koda
Problem sa kodiranjima
Ispisivanje PHP grešaka
Kompletan kod za pokretanje PHP-a
Poboljšani kod za pokretanje
Pregled osnovnih PHP komandi
Komentari u PHP-u
Komentari u udžbeniku
Ispis promenljivih (damping)
Funkcije u PHP-u
Promenljive
Korišćenje promenljivih
Promena vrednosti promenljivih
Matematičke operacije sa brojevima
Matematičke operacije sa promenljivim
Prioritet matematičkih operacija
Jednak prioritet
Grupirajuće zagrade
Nijanse grupiranja
Razlomci
Negativni brojevi
Ostatak pri deljenju
Stepenovanje
Prioritet stepenovanja
Stringovi
Sabiranje stringova
Razmaci pri sabiranju stringova
Dužina stringa
Problem sa ćirilicom
Tagovi
Atributi tagova
Logičke vrednosti
Vrednost null
Automatska konverzija tipova
Automatska konverzija u string
Nijanse konverzije u string
Konverzija u broj
Konverzija u razlomak
Konverzija razlomka u ceo broj
Konverzija broja u string
Karakteri stringa
Cifre u stringu
Pristupanje ciframa broja
Nijanse rada sa operacijom dodeljivanja
Skraćene operacije
Inkrementacija
Prefiksni i postfiksni tip
Praksa - pronalaženje grešaka
Praksa - operacije
Praksa - formule
Nizovi
Uvod u nizove
Pregled sadržaja niza
Pojedinačni element niza
Asocijativni nizovi
Trik sa ključevima
Redosled elemenata
Dužina niza
Izmena elemenata
Prepisivanje elemenata niza
Inkrementacija elemenata
Popunjavanje nizova
Eksplicitno zadavanje ključeva
Ključevi iz promenljivih
Vežba za pronalaženje grešaka
Uslovi
Konstrukcija if-else
Operatori veće i manje
Provera jednakosti
Provera nejednakosti
Poređenje promenljivih
Tipovi podataka i konstrukcija if-else
Brojevi u navodnicima
Jednakost po vrednosti i tipu
Nejednakost po vrednosti i tipu
Nijanse pri poređenju tipova podataka
Složeni uslovi u if-else
Logičko I
Logičko ILI
Prioritet operacija poređenja
Grupisanje uslova
Invertovanje izjava
Konstrukcija if-else i Bulove vrednosti
Nestriktno poređenje logičkih vrednosti
Skraćeni if
Nijansa skraćenih operacija
Komanda isset
Prigušavanje upozorenja
Provera elemenata niza
Komanda empty
Neobaveznost komande else
Neobaveznost vitičastih zagrada
Problem neobaveznosti zagrada
Kombinacije if-else
Konstrukcija elseif
Ugniježdeni if
Konstrukcija switch
Neobaveznost default
Konstrukcija match
Neobaveznost break
Ternarni operator
Operator spajanja sa null
Lančani operatori spajanja sa null
Logičke operacije
Određivanje dela sata
Provera dužine stringova i nizova
Provera karaktera stringa
Provera ostatka pri deljenju
Praksa na pronalaženje grešaka
Praksa if else
Petlje
Uvod
Petlja foreach
Petlja foreach sa ključevima
Petlja while
Petlja for
Uslovi u petljama
Akumulacija zbira brojeva
Akumulacija zbira elemenata
Formiranje stringova u petlji
Opcionalnost vitičastih zagrada
Problem opcionalnosti zagrada
Instrukcija break
Instrukcija continue
Rad sa zastavicama
Ugnježdene petlje
Petlja for za nizove
Popunjavanje nizova u petlji
Izmena nizova u petlji
Saveti za pisanje koda
Praksa na pronalaženje grešaka
Praksa na petlje
Višedimenzionalnost
Uvod
Trodimenzionalni niz
Asocijativni nizovi
Proizvoljni nizovi
Iteracija kroz višedimenzionalne nizove
Iteracija kroz trodimenzionalni niz
Rad sa ključevima
Popunjavanje višedimenzionalnih nizova
Popunjavanje brojevima po redu
Niz asocijativnih nizova
Konverzija višedimenzionalnih nizova
Matematičke funkcije
Funkcije za rad sa stringovima
Dužina stringa
Registar karaktera
Isecanje stringova
Provera stringova
Pretraga stringova
Razdvajanje stringova
Čišćenje krajeva stringa
Ispisivanje stringa sa umetanjem
Formatiranje prikaza brojeva
Okretanje stringa
Popunjavanje stringa
Rad sa tagovima
Kodovi karaktera
Brojanje podstringova
Delovi stringova
Funkcije nizova
Pretraga nizova
Krajnji elementi
Sečenje nizova (Slicing)
Spajanje i modifikacija nizova (Splicing)
Opseg u nizu
Popunjavanje nizova
Spajanje nizova (Merging)
Ključevi i vrednosti
Okretanje
Zamena
Uklanjanje duplikata
Prebrojavanje elemenata
Podela na podnizove
Sortiranje
Operacije sa skupovima
Random
Vreme
Rad sa timestamp-om
Formatiranje
Parsiranje datuma u slobodnom formatu
Provera korektnosti
Vremenska zona
Izmena
String poređenje
Poređenje datuma bez godine
Odnos datuma prema intervalu
Poređenje timestamp-ova
Korisničke funkcije
Uvod
Parametri funkcije
Više parametara
Parametri-promenljive
Opcioni parametri
Instrukcija return
Sekvencijalno pozivanje funkcija
Suptilno mesto return
Petlja i return
Primena return u petljama
Trikovi u radu sa return
Zastavice u funkcijama
Logički operatori u funkcijama
Saveti o funkcijama
Praksa na pronalaženje grešaka
Praksa na funkcije
Opseg vidljivosti
Reference-primitive
Reference-nizovi
Reference u foreach
Unutrašnje promenljive
Spoljašnje promenljive
Imenačke promenljive
Globalne promenljive
Izmena parametara
Parametri-reference
Rekurzija
Rekurzija
Primer sa parametrom
Suma elemenata niza
Rekurzija i višedimenzionalni nizovi
Suma višedimenzionalnog niza
Manipulacije elementima
Regularni izrazi
Uvod
Operatori ponavljanja
Grupirajuće zagrade
Ekskapiranje specijalnih karaktera
Lista specijalnih karaktera
Vitice
Ograničenje pohlepe
Grupe karaktera
Skupovi karaktera
Invertovanje skupova karaktera
Posebnosti ćirilice
Specijalni karakteri unutar skupova
Grupe karaktera unutar skupova
Izuzeci specijalnih karaktera unutar skupova
Karakter šešira unutar skupova
Posebnosti crtice unutar skupova
Početak i kraj linije
Kraj ili početak reči
Komanda 'ili'
Ograničavači
Ekskapiranje ograničavača
Obrnuta kosa crta
Provera stringa
Automatsko testiranje regularnih izraza
Provera celog stringa
Džepovi prilikom pretraživanja
Pronalaženje svih poklapanja
Sva poklapanja na džepove
Promena ponašanja pretrage
Neskladišne zagrade
Džepovi prilikom zamene
Džepovi u izrazu
Imenovani džepovi
Imenovani džepovi unutar izraza
Opšti broj džepova
Pregled napred
Pregled nazad
Zamena sa kolbekom
Modifikatori
Ignorisanje registra regularnih izraza
Komentari u regularnim izrazima
Rad sa unikodom u regularnim izrazima
Promena pohlepe regularnih izraza
Ekskapiranje običnih karaktera u regularnim izrazima
Više modifikatora regularnih izraza
Automatsko ekskapiranje specijalnih karaktera
Filtriranje niza
Razbijanje stringa u niz
Formiranje stringova
Umetanje promenljivih
Umetanje elemenata niza
Umetanje elemenata asocijativnih nizova
Petlja i umetanje promenljivih
Umetanje elemenata nizova u petlji
Umetanje elemenata višedimenzionalnih nizova u petlji
Generisanje tagova
Generisanje tagova sa atributima
Petlja i generisanje tagova
Petlja i generisanje tagova iz nizova
Petlja i generisanje tagova i atributa
Petlja i generisanje HTML tabela
Generisanje HTML tabele pomoću jedne petlje
Generisanje HTML tabele pomoću dve ugnježdene petlje
Umetanje PHP koda u HTML
Kratka echo komanda
Ispis promenljive u HTML
Ispis elemenata niza u HTML
Uslovi i prekid PHP koda
Else blok u prekidu PHP koda
Elseif blok u prekidu PHP koda
Petlje i prekid PHP koda
Niz u petlji u prekidu PHP koda
Forme
Uvod u forme
Metod slanja forme
Dobijanje podataka iz formi
Dobijanje podataka iz formi GET metodom
Dobijanje podataka iz formi POST metodom
Obrada forme u jednoj datoteci
Sakrivanje forme nakon slanja
Čuvanje vrednosti forme
Čuvanje podrazumevane vrednosti forme
Skraćeni kod za čuvanje podrazumevanih vrednosti
Element textarea
Čuvanje vrednosti textarea nakon slanja
Checkbox
Nijanse korišćenja checkbox-ova
Čuvanje vrednosti u checkbox-u
Radio dugmad
Čuvanje vrednosti u radio dugmadima
Select
Atribut value u select-ovima
Čuvanje vrednosti u select-ovima
GET upiti
GET upiti pomoću linkova
Praktikum
Sesije
Uvod u sesije
Mogući problemi
Korišćenje sesija na jednoj stranici
Brisanje sesija
Završetak cele sesije
Sesije i forme
Zapisivanje nizova u sesije
Kolačići
Uvod u kolačiće
Problem postavljanja kolačića
Trenutno postavljanje kolačića
Brojač osvežavanja stranice
Vreme trajanja kolačića
Uklanjanje kolačića
Trenutno uklanjanje kolačića
Fajl sistem
Čitanje fajlova
Pisanje u fajlove
Kombinacija operacija
Relativne putanje
Apsolutne putanje
Prednosti apsolutne putanje
Apsolutne putanje do skripte
Preimenovanje fajlova
Premeštanje fajlova
Kopiranje fajlova
Brisanje fajlova
Određivanje veličine fajla
Provera postojanja fajla
Kreiranje direktorijuma
Brisanje direktorijuma
Preimenovanje direktorijuma
Premeštanje direktorijuma
Čitanje sadržaja direktorijuma
Razlikovanje direktorijuma od fajla
Analiza sadržaja direktorijuma
Umetanje fajlova
Podela markup-a na elemente
Snimanje umetka u promenljivu
Uključivanje fajlova
Jednokratno uključivanje fajlova
Snimanje uključivanja u promenljivu
Baze podataka
Uvod u baze podataka
PhpMyAdmin
Testna tabela users
Pripremne manipulacije
Slanje upita ka bazi podataka
Pronalaženje grešaka u bazi podataka
Testiranje funkcionalnosti
Problemi sa kodiranjima
Kompletan testni kod
Dobijanje rezultata
Dobijanje rezultata u obliku niza
Formiranje niza u petlji
Selekcija zapisa
Logičke operacije
Polja selekcije
Umetanje zapisa
Umetanje zapisa pri odsutnim kolonama
Ažuriranje zapisa
Brisanje zapisa
Sortiranje zapisa
Ograničenje količine
Prebrojavanje količine
Dobijanje količine
Napredni upiti
Organizacija baze podataka
Povezivanje tabela
Dobijanje podataka iz povezanih tabela
Lanac povezanih tabela
Povezivanje preko tabele veze
Rodne veze
Nekoliko potomaka
Dvostruka veza
Praksa
Praksa baze podataka
Testna tabela users
Oformljavanje ispisa
Brisanje podataka
Pregled podataka
Dodavanje podataka
Izmena podataka
Rad sa HTTP
Učebnik HTTP
Metoda HTTP zahteva
HTTP zaglavlja zahteva
Niz zaglavlja HTTP zahteva
Zaglavlja HTTP odgovora
Problem sa zaglavljima HTTP odgovora
Problem sa include
Slanje startne linije HTTP odgovora
Slanje statusa HTTP odgovora
Preusmeravanja (Redirects)
Uvod u preusmeravanja
Trenutno preusmeravanje
GET zahtevi i preusmeravanje
Samopreusmeravanje sa dodavanjem parametara
Flash poruke
Niz flash poruka
Čuvanje formi
Poruke o uspešnom slanju
Preusmeravanje pri validaciji forme
Autentifikacija
Uvod
Autorizacija
Sesije
Izlogovanje iz sesije
Registracija
Autorizacija odmah pri registraciji
Dodavanje id-a u sesiju
Sakrivanje lozinke
Provera zauzetosti logina
Validacija
Heširanje
Dodavanje soli u registraciju
Dodavanje soli u autorizaciju
Funkcija password_hash
Profil
Nalog
Promena lozinke
Potvrda lozinke
Brisanje naloga
Prava
Registracija sa podelom prava
Prava i normalizacija baze podataka