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

Mocniny Zaokrouhlování Extrémy Moduly Operace s poli

Ř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

Náhodné číslo Náhodný prvek pole Míchání polí Míchání řetězců

Č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í

Testovací tabulka users Formátování výstupu Mazání dat Prohlížení dat Přidávání dat Úprava dat

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

Webový engine

Úvod Použití htaccess Engine na souborech Titulek v engine na souborech Titulky v poli Titulky v obsahu Chybová stránka 404 v engine na souborech Engine na databázi Čitelná URL v engine Jednoduché routování Routování s pojmenovanými parametry Několik parametrů v routě Praktikum
roptcska