Základní tutoriál PHP8+
Základy
Úvod do jazyka PHP
Začínáme
Spuštění kódu PHP
Problém s kódováním
Výpis chyb PHP
Úplný kód pro spuštění PHP
Vylepšený kód pro spuštění
Přehled základních příkazů PHP
Komentáře v PHP
Komentáře v učebnici
Dumpování proměnných
Funkce v PHP
Proměnné
Použití proměnných
Změna hodnot proměnných
Matematické operace s čísly
Matematické operace s proměnnými
Priorita matematických operací
Stejná priorita
Seskupující závorky
Nuance seskupování
Zlomky
Záporná čísla
Zbytek po dělení
Umocňování
Priorita umocňování
Řetězce
Sčítání řetězců
Mezery při sčítání řetězců
Délka řetězce
Problém s cyrilicí
Tagy
Atributy tagů
Logické hodnoty
Hodnota null
Automatická konverze typů
Automatická konverze na řetězec
Nuance konverze na řetězec
Konverze na číslo
Konverze na zlomek
Konverze zlomku na celé číslo
Konverze čísla na řetězec
Znaky řetězce
Číslice v řetězci
Přístup k číslicím čísla
Nuance práce s operací přiřazení
Zkrácené operace
Inkrementace
Prefixový a postfixový typ
Praxe na hledání chyb
Praxe na operace
Praxe na vzorce
Pole
Úvod do polí
Zobrazení obsahu pole
Jednotlivý prvek pole
Asociativní pole
Trik s klíči
Pořadí prvků
Délka pole
Změna prvků
Přepsání prvků pole
Inkrementace prvků
Naplňování polí
Explicitní určení klíčů
Klíče z proměnných
Praxe na hledání chyb
Podmínky
Konstrukce if-else
Operátory větší a menší
Kontrola rovnosti
Kontrola nerovnosti
Porovnání proměnných
Datové typy a konstrukce if-else
Čísla v uvozovkách
Rovnost podle hodnoty a typu
Nerovnost podle hodnoty a typu
Nuance při porovnávání datových typů
Složité podmínky v if-else
Logické A
Logické NEBO
Priorita porovnávacích operací
Seskupování podmínek
Invertování výroků
Konstrukce if-else a logické hodnoty
Nepřísné porovnávání logických hodnot
Zkrácený if
Nuance zkrácených operací
Příkaz isset
Potlačení varování
Kontrola prvků pole
Příkaz empty
Nepovinnost příkazu else
Nepovinnost složených závorek
Problém nepovinnosti závorek
Kombinace if-else
Konstrukce elseif
Vnořené if
Konstrukce switch
Nepovinnost default
Konstrukce match
Nepovinnost break
Ternární operátor
Operátor spojení s null
Řetězce operátorů spojení s null
Logické operace
Určení části hodiny
Kontrola délky řetězců a polí
Kontrola znaku řetězce
Kontrola zbytku po dělení
Praxe na hledání chyb
Praxe if else
Cykly
Úvod
Cykly foreach
Cykly foreach s klíči
Cykly while
Cykly for
Podmínky v cyklech
Kumulace součtu čísel
Kumulace součtu prvků
Formování řetězců v cyklu
Nepovinnost složených závorek
Problém nepovinnosti závorek
Příkaz break
Příkaz continue
Práce s příznaky
Vnořené cykly
Cykly for pro pole
Naplňování polí v cyklu
Změna polí v cyklu
Rady pro psaní kódu
Praxe na hledání chyb
Praxe na cykly
Vícerozměrnost
Úvod
Trojrozměrné pole
Asociativní pole
Libovolná pole
Procházení vícerozměrných polí
Procházení trojrozměrného pole
Práce s klíči
Naplňování vícerozměrných polí
Naplňování čísly podle pořadí
Pole asociativních polí
Konverze vícerozměrných polí
Matematické funkce
Řetězcové funkce
Délka řetězce
Velikost písmen
Výřez řetězců
Kontrola řetězců
Vyhledávání v řetězcích
Dělení řetězců
Čištění konců řetězce
Výpis řetězce s vložením
Formátování čísel
Obrácení řetězce
Vyplňování řetězce
Práce s tagy
Kódy znaků
Počítání podřetězců
Části řetězců
Funkce polí
Vyhledávání v polích
Koncové prvky
Krájení polí
Spojování polí
Rozsah v poli
Naplňování polí
Slučování polí
Klíče-hodnoty
Obrácení
Nahrazování
Odstranění duplicit
Počítání prvků
Rozdělení na podpole
Řazení
Množinové operace
Náhodnost
Čas
Práce s timestamp
Formátování
Analýza dat ve volném formátu
Kontrola správnosti
Časové pásmo
Úprava
Porovnávání řetězců
Porovnání data bez roku
Spadání data do intervalu
Porovnání timestamp
Uživatelské funkce
Úvod
Parametry funkce
Několik parametrů
Parametry-proměnné
Volitelné parametry
Instrukce return
Postupné volání funkcí
Jemné místo return
Cyklus a return
Použití return v cyklech
Přípravek práce s return
Příznaky ve funkcích
Logické operátory ve funkcích
Rady k funkcím
Praxe na hledání chyb
Praxe na funkce
Oblast viditelnosti
Reference-primitive
Reference-pole
Reference v foreach
Vnitřní proměnné
Vnější proměnné
Stejnojmenné proměnné
Globální proměnné
Změna parametrů
Parametry-reference
Rekurze
Rekurze
Příklad s parametrem
Součet prvků pole
Rekurze a vícerozměrná pole
Součet vícerozměrného pole
Manipulace s prvky
Regulární výrazy
Úvod
Operátory opakování
Závorky pro skupinování
Escapování speciálních znaků
Seznam speciálních znaků
Složené závorky
Omezení chamtivosti
Skupiny znaků
Sady znaků
Invertování sad znaků
Zvláštnosti cyrilice
Speciální znaky uvnitř sad
Skupiny znaků uvnitř sad
Speciální znaky-výjimky uvnitř sad
Znak stříšky uvnitř sad
Zvláštnosti pomlčky uvnitř sad
Začátek a konec řádku
Konec nebo začátek slova
Příkaz 'nebo'
Omezení
Escapování omezení
Obrácené lomítko
Kontrola řetězce
Automatické testování regulárních výrazů
Kontrola celého řetězce
Kapsy při hledání
Hledání všech shod
Všechny shody na kapsy
Změna chování hledání
Nezachovávající závorky
Kapsy při nahrazování
Kapsy ve výrazu
Pojmenované kapsy
Pojmenované kapsy uvnitř výrazu
Obecné číslo kapes
Náhled vpřed
Náhled vzad
Nahrazení s callbackem
Modifikátory
Ignorování velikosti písmen regulárních výrazů
Komentáře v regulárním výrazu
Práce s unicode v regulárních výrazech
Změna chamtivosti regulárních výrazů
Escapování běžných znaků v regulárních výrazech
Několik modifikátorů regulárních výrazů
Automatické escapování speciálních znaků
Filtrování pole
Rozdělení řetězce na pole
Formování řetězců
Vložení proměnných
Vložení prvků pole
Vložení prvků asociativních polí
Cyklus a vložení proměnných
Vložení prvků polí v cyklu
Vložení prvků vícerozměrných polí v cyklu
Generování tagů
Generování tagů s atributy
Cyklus a generování tagů
Cyklus a generování tagů z polí
Cyklus a generování tagů a atributů
Cyklus a generování HTML tabulek
Generování HTML tabulky pomocí jednoho cyklu
Generování HTML tabulky pomocí dvou vnořených cyklů
Vložení PHP kódu do HTML
Krátký příkaz echo
Výpis proměnné do HTML
Výpis prvků pole do HTML
Podmínky a přerušení PHP kódu
Blok else v přerušení PHP kódu
Blok elseif v přerušení PHP kódu
Cykly a přerušení PHP kódu
Pole v cyklu v přerušení PHP kódu
Formuláře
Úvod do formulářů
Metoda odeslání formuláře
Získávání dat z formulářů
Získávání dat z formulářů metodou GET
Získávání dat z formulářů metodou POST
Zpracování formuláře v jednom souboru
Skrytí formuláře po odeslání
Uchování hodnot formuláře
Uchování výchozí hodnoty formuláře
Zkrácený kód pro uchování výchozích hodnot
Prvek textarea
Uchování hodnoty textarea po odeslání
Zaškrtávací políčko
Nuance používání zaškrtávacích políček
Uchování hodnoty v zaškrtávacím políčku
Radioknožky
Uchování hodnoty v radioknožkách
Selecty
Atribut value v selectech
Uchování hodnoty v selectech
GET požadavky
GET požadavky pomocí odkazů
Praktická část
Relace
Úvod do relací
Možné problémy
Použití relací na jedné stránce
Odstraňování relací
Ukončení celé relace
Relace a formuláře
Zápis polí do relací
Cookies
Úvod do cookies
Problém s nastavením cookies
Okamžité nastavení cookies
Počítadlo obnovení stránky
Doba života cookie
Odstraňování cookies
Okamžité odstranění cookies
Souborový systém
Čtení souborů
Zápis souborů
Kombinace operací
Relativní cesty
Absolutní cesty
Výhody absolutní cesty
Absolutní cesty ke skriptu
Přejmenování souborů
Přesun souborů
Kopírování souborů
Odstranění souborů
Určení velikosti souborů
Kontrola existence souborů
Vytváření složek
Odstranění složek
Přejmenování složek
Přesun složek
Čtení obsahu složky
Rozlišení složky od souboru
Analýza obsahu složky
Vložení souborů
Dělení značek na elementy
Zápis vložení do proměnné
Připojení souborů
Jednorázové připojení souborů
Zápis připojení do proměnné
Databáze
Úvod do databází
PhpMyAdmin
Testovací tabulka users
Přípravné manipulace
Odesílání dotazů do databáze
Hledání chyb v databázi
Testování funkčnosti
Problémy s kódováním
Úplný testovací kód
Získání výsledku
Získání výsledku jako pole
Vytvoření pole v cyklu
Výběr záznamů
Logické operace
Pole výběru
Vkládání záznamů
Vkládání záznamů při chybějících sloupcích
Aktualizace záznamů
Mazání záznamů
Třídění záznamů
Omezení množství
Počítání množství
Získání počtu
Pokročilé dotazy
Organizace databáze
Propojování tabulek
Získávání dat z propojených tabulek
Řetězec propojených tabulek
Propojování přes tabulku vazeb
Rodinné vztahy
Několik potomků
Dvojitý vztah
Praktikum
Praxe s databází
Práce s HTTP
Učebnice HTTP
Metoda HTTP požadavku
Hlavičky HTTP požadavku
Pole hlaviček HTTP požadavku
Hlavičky HTTP odpovědi
Problém s hlavičkami HTTP odpovědi
Problém s include
Odeslání startovního řádku HTTP odpovědi
Odeslání stavu HTTP odpovědi
Přesměrování
Úvod do přesměrování
Okamžité přesměrování
GET požadavky a přesměrování
Vlastní přesměrování s přidáním parametrů
Flash zprávy
Pole flash zpráv
Ukládání formulářů
Zprávy o úspěšném odeslání
Přesměrování při validaci formuláře
Autentizace
Úvod
Autorizace
Relace
Odhlášení z relace
Registrace
Autorizace ihned po registraci
Přidání id do relace
Skrytí hesla
Kontrola obsazenosti přihlašovacího jména
Validace
Hashování
Přidání soli do registrace
Přidání soli do autorizace
Funkce password_hash
Profil
Účet
Změna hesla
Potvrzení hesla
Smazání účtu
Práva
Registrace s rozdělením práv
Práva a normalizace databáze