Асноўны падручнік PHP8+
Асновы
Увядзенне ў мову PHP
Пачатак работы
Выкананне кода PHP
Праблема з кадыроўкамі
Вывад памылак PHP
Поўны код для запуску PHP
Удасканалены код для запуску
Агляд пачатковых PHP каманд
Каментарыі ў PHP
Каментарыі ў падручніку
Дампаванне пераменных
Функцыі ў PHP
Пераменныя
Выкарыстанне пераменных
Змены значэнняў пераменных
Матэматычныя аперацыі з лікамі
Матэматычныя аперацыі з пераменнымі
Прыярытэт матэматычных аперацый
Роўны прыярытэт
Групуруючыя дужкі
Нюансы групоўкі
Дробы
Адмоўныя лікі
Астатак ад дзялення
Узвядзенне ў ступень
Прыярытэт узвядзення ў ступень
Радкі
Складанне радкоў
Прабелы пры складанні радкоў
Даўжыня радка
Праблема з кірыліцай
Тэгі
Атрыбуты тэгаў
Лагічныя значэння
Значэнне null
Аўтаматычнае пераўтварэнне тыпаў
Аўтаматычнае пераўтварэнне да радку
Нюансы пераўтварэння да радку
Пераўтварэнне да ліку
Пераўтварэнне да дробы
Пераўтварэнне дробы да цэлага
Пераўтварэнне ліку да радку
Сімвалы радка
Лічбы ў радку
Зварот да лічбаў ліку
Нюансы работы з аперацыяй прысвойвання
Скарочаныя аперацыі
Інкрэментацыя
Прэфіксны і постфіксны тып
Практыка на пошук памылак
Практыка на аперацыі
Практыка на формулы
Масівы
Увядзенне ў масівы
Прагляд змесціва масіва
Асобны элемент масіва
Асацыятыўныя масівы
Хітрасць з ключамі
Парадак элементаў
Даўжыня масіва
Змяненне элементаў
Перазапіс элементаў масіва
Інкрэментацыя элементаў
Запаўненне масіваў
Яўнае пазначэнне ключоў
Ключы з пераменных
Практыка на пошук памылак
Умовы
Канструкцыя if-else
Аператары больш і менш
Праверка на роўнасць
Праверка на няроўнасць
Параўнанне пераменных
Тыпы даных і канструкцыя if-else
Лікі ў двукоссі
Роўнасць па значэнні і тыпе
Няроўнасць па значэнні і тыпе
Нюансы пры параўнанні тыпаў даных
Складныя ўмовы ў if-else
Лагічнае І
Лагічнае АБО
Прыярытэт аперацый параўнання
Групоўка ўмоў
Інвертаванне выказванняў
Канструкцыя if-else і булевы значэння
Нестрогае параўнанне лагічных значэнняў
Скарочаны if
Нюанс скарочаных аперацый
Каманда isset
Падаўленне ворнінга
Праверка элементаў масіва
Каманда empty
Неабавязковасць каманды else
Неабавязковасць фігурных дужак
Праблема неабавязковасці дужак
Камбінацыі if-else
Канструкцыя elseif
Укладзеныя if
Канструкцыя switch
Неабавязковасць default
Канструкцыя match
Неабавязковасць break
Тэрнарны аператар
Аператар аб'яднання з null
Ланцужкі аператараў аб'яднання з null
Лагічныя аперацыі
Вызначэнне часткі гадзіны
Праверка даўжыні радкоў і масіваў
Праверка сімвала радка
Праверка астатку ад дзялення
Практыка на пошук памылак
Практыка if else
Цыклы
Увядзенне
Цыкл foreach
Цыкл foreach з ключамі
Цыкл while
Цыкл for
Умовы ў цыклах
Назапашванне сумы лікаў
Назапашванне сумы элементаў
Фарміраванне радкоў у цыкле
Неабавязковасць фігурных дужак
Праблема неабавязковасці дужак
Інструкцыя break
Інструкцыя continue
Работа з сцягамі
Укладзеныя цыклы
Цыкл for для масіваў
Запаўненне масіваў у цыкле
Змяненне масіваў у цыкле
Парады па напісанні кода
Практыка на пошук памылак
Практыка на цыклы
Шматмернасць
Увядзенне
Трохмерны масіў
Асацыятыўныя масівы
Адвольныя масівы
Перабор шматмерных масіваў
Перабор трохмернага масіва
Работа з ключамі
Запаўненне шматмерных масіваў
Запаўненне лікаў па парадку
Масіў асацыятыўных масіваў
Канвертацыя шматмерных масіваў
Матэматычныя функцыі
Радкавыя функцыі
Даўжыня радка
Рэгістр сімвалаў
Выразанне радкоў
Праверка радкоў
Пошук па радках
Разбіццё радкоў
Ачыстка канцоў радка
Вывад радка са ўстаўкай
Фарматаванне прадстаўлення лікаў
Пераварот радка
Запаўненне радка
Работа з тэгамі
Коды сімвалаў
Падлік падрадкоў
Часткі радка
Функцыі масіваў
Пошук па масівах
Канцавыя элементы
Слайсінг масіваў
Сплейсінг масіваў
Дыяпазон у масіве
Запаўненне масіваў
Зліццё масіваў
Ключы-значэнні
Пераварот
Замена
Выдаленне дубляў
Падлік элементаў
Разбіццё на падмасівы
Сартыроўка
Множныя аперацыі
Рандом
Час
Работа з timestamp
Фарматаванне
Разбор дат у вольным фармаце
Праверка карэктнасці
Часавы пояс
Змяненне
Радковае параўнанне
Параўнанне даты без года
Трапленне даты ў прамежак
Параўнанне timestamp
Карыстальніцкія функцыі
Увядзенне
Параметры функцыі
Некалькі параметраў
Параметры-пераменныя
Неабавязковыя параметры
Інструкцыя return
Паслядоўны выклік функцый
Toнкае месца return
Цыкл і return
Ужыванне return у цыклах
Прыём работы з return
Сцягі ў функцыях
Лагічныя аператары ў функцыях
Парады па функцыях
Практыка на пошук памылак
Практыка на функцыі
Вобласць бачнасці
Спасылкі-прымітывы
Спасылкі-масівы
Спасылкі ў foreach
Унутраныя пераменныя
Знешнія пераменныя
Аднайменныя пераменныя
Глабальныя пераменныя
Змяненне параметраў
Параметры-спасылкі
Рэкурсія
Рэкурсія
Прыклад з параметрам
Сума элементаў масіва
Рэкурсія і шматмерныя масівы
Сума шматмернага масіва
Маніпуляцыі з элементамі
Рэгулярныя выразы
Увядзенне
Аператары паўтарэння
Групуруючыя дужкі
Экраніроўка спецсімвалаў
Спіс спецыяльных сімвалаў
Фігурныя дужкі
Абмежаванне прагнасці
Групы сімвалаў
Наборы сімвалаў
Інвертаванне набораў сімвалаў
Асаблівасці кірыліцы
Спецсімвалы ўнутры набораў
Групы сімвалаў унутры набораў
Спецсімвалы-выключэнні ўнутры набораў
Сімвал шапачкі ўнутры набораў
Асаблівасці дэфіса ўнутры набораў
Пачатак і канец радка
Канец або пачатак слова
Каманда 'ці'
Абмежавальнікі
Экраніроўка абмежавальнікаў
Адваротны слэш
Праверка радка
Аўтаматычнае тэставанне рэгулярак
Праверка ўсёй радка
Карманы пры пошуку
Пошук усіх супадзенняў
Усе супадзенні на карманы
Змяненне паводзін пошуку
Незахоўваючыя дужкі
Карманы пры замене
Карманы ў выразе
Іменаваныя карманы
Іменаваныя карманы ўнутры выразу
Агульны нумар карманоў
Прагляд наперад
Прагляд назад
Замена з зваротнай функцыяй
Мадыфікатары
Ігнараванне рэгістру рэгулярак
Каментарыі ў рэгулярцы
Работа з юнікодам у рэгулярках
Змяненне прагнасці рэгулярак
Экраніроўка звычайных сімвалаў у рэгулярках
Некалькі мадыфікатараў рэгулярак
Аўтаматычная экраніроўка спецсімвалаў
Фільтрацыя масіва
Разбіццё радка ў масіў
Фарміраванне радкоў
Устаўка пераменных
Устаўка элементаў масіва
Устаўка элементаў асацыятыўных масіваў
Цыкл і устаўка пераменных
Устаўка элементаў масіваў у цыкле
Устаўка элементаў шматмерных масіваў у цыкле
Генерацыя тэгаў
Генерацыя тэгаў з атрыбутамі
Цыкл і генерацыя тэгаў
Цыкл і генерацыя тэгаў з масіваў
Цыкл і генерацыя тэгаў і атрыбутаў
Цыкл і генерацыя HTML табліц
Генерацыя HTML табліцы з дапамогай аднаго цыкла
Генерацыя HTML табліцы з дапамогай двух укладзеных цыклаў
Устаўка PHP кода ў HTML
Кароткая каманда echo
Вывад пераменнай у HTML
Вывад элементаў масіва ў HTML
Умовы і разрыў PHP кода
Блок else у разрыў PHP кода
Блок elseif у разрыў PHP кода
Цыклы і разрыў PHP кода
Масіў у цыкле ў разрыў PHP кода
Формы
Увядзенне ў формы
Метад адпраўкі формы
Атрыманне даных формаў
Атрыманне даных формаў метадам GET
Атрыманне даных формаў метадам POST
Апрацоўка формы ў адным файле
Схаванне формы пасля адпраўкі
Захаванне значэнняў формы
Захаванне значэння па змаўчанні формы
Скарочаны код для захавання значэнняў па змаўчанні
Элемент textarea
Захаванне значэння textarea пасля адпраўкі
Чэкбокс
Нюансы выкарыстання чэкбоксаў
Захаванне значэння ў чэкбоксе
Радыёкнопкі
Захаванне значэння ў радыёкнопках
Селекты
Атрыбут value у селектах
Захаванне значэння ў селектах
GET-запыты
GET-запыты з дапамогай спасылак
Практыка
Сесіі
Увядзенне ў сесіі
Магчымыя праблемы
Выкарыстанне сесій на адной старонцы
Выдаленне сесій
Завяршэнне ўсёй сесіі
Сесіі і формы
Запіс масіваў у сесіі
Cookies
Увядзенне ў кукі
Праблема ўстаноўкі кукі
Імгненная ўстаноўка кукі
Лічыльнік абнаўлення старонкі
Час жыцця кукі
Выдаленне кукі
Імгненнае выдаленне кукі
Файлавая сістэма
Чытанне файлаў
Запіс файлаў
Камбінацыя аперацый
Адносныя шляхі
Абсалютныя шляхі
Перавагі абсалютнага шляху
Абсалютныя шляхі да скрыпта
Перайменаванне файлаў
Перамяшчэнне файлаў
Капіяванне файлаў
Выдаленне файлаў
Вызначэнне памеру файлаў
Праверка існавання файлаў
Стварэнне папак
Выдаленне папак
Перайменаванне папак
Перамяшчэнне папак
Чытанне змесціва папкі
Адрозніваем папку ад файла
Разбіраем змесціва папкі
Устаўка файлаў
Дзяленне версткі на элементы
Запіс устаўкі ў пераменную
Падключэнне файлаў
Аднакратнае падключэнне файлаў
Запіс падключэння ў пераменную
Базы даных
Увядзенне ў базы даных
PhpMyAdmin
Тэставая табліца users
Падрыхтоўчыя маніпуляцыі
Адпраўка запытаў да базы даных
Пошук памылаў у базе даных
Тэставанне працаздольнасці
Праблемы з кадыроўкамі
Поўны тэставы код
Атрыманне выніку
Атрыманне выніку ў выглядзе масіва
Фарміраванне масіва ў цыкле
Выбарка запісаў
Лагічныя аперацыі
Палі выбаркі
Устаўка запісаў
Устаўка запісаў пры адсутных слупках
Абнаўленне запісаў
Выдаленне запісаў
Сартыроўка запісаў
Абмежаванне колькасці
Падлік колькасці
Атрыманне колькасці
Прасунутыя запыты
Арганізацыя БД
Звязванне табліц
Атрыманне даных з звязаных табліц
Ланцужок звязаных табліц
Звязванне праз табліцу сувязі
Радчынныя сувязі
Некалькі нашчадкаў
Падвойная сувязь
Практыка
Практыка БД
Тэставая табліца users
Афармленне вываду
Выдаленне даных
Прагляд даных
Дабаўленне даных
Рэдагаванне даных
Работа з HTTP
Падручнік HTTP
Метад HTTP запыту
HTTP загалоўкі запыту
Масіў загалоўкаў HTTP запыту
Загалоўкі HTTP адказу
Праблема з загалоўкамі HTTP адказу
Праблема з include
Аддача стартавага радка HTTP адказу
Аддача статусу HTTP адказу
Рэдыректы
Увядзенне ў рэдыректы
Імгненны рэдырэкт
GET запыты і рэдырэкт
Самарыдэрыкт з дабаўленнем параметраў
Флеш паведамленні
Масіў флеш паведамленняў
Захаванне формаў
Паведамленні аб поспеху адпраўкі
Рэдырэкт пры валідацыі формы
Аўтэнтыфікацыя
Увядзенне
Аўтарызацыя
Сесіі
Выхад з сесіі
Рэгістрацыя
Аўтарызацыя адразу пры рэгістрацыі
Дабаўленне id у сесію
Схаванне пароля
Праверка лагіна на занятасць
Валідацыя
Хешаванне
Дабаўленне солі ў рэгістрацыю
Дабаўленне солі ў аўтарызацыю
Функцыя password_hash
Профіль
Акаўнт
Змена пароля
Пацверджанне пароля
Выдаленне акаўнта
Правы
Рэгістрацыя з падзелам правоў
Правы і нармалізацыя базы даных