Основной учебник PHP8+
Основы
Введение в язык PHP
начало дописать
Выполнение кода PHP
Проблема с кодировками
Вывод ошибок PHP
Полный код для запуска PHP
Улучшенный код для запуска
Обзор начальных PHP команд
Комментарии в PHP
Комментарии в учебнике
Функция var_dump
Функции в PHP
Переменные
Использование переменных
Изменения значений переменных
Математические операции с числами
Математические операции с переменными
Приоритет математических операций
Равный приоритет
Группирующие скобки
Нюансы группировки
Дроби
Отрицательные числа
Остаток от деления
Возведение в степень
Приоритет возведения в степень
Строки
Сложение строк
Пробелы при сложении строк
задачи про имя и возраст закомменчены
Длина строки
Проблема с кириллицей
Теги
Атрибуты тегов
Логические значения
Значение null
Автоматическое преобразование типов
Преобразование к строке
задачу в конце
Преобразование к числу
Преобразование к дроби
Преобразование дроби к целому
Преобразование к строке
Символы строки
Последний символ строки
Цифры в строке
Обращение к цифрам числа
Нюансы работы с операцией присваивания
Сокращенные операции
Инкремент и декремент
Префиксный и постфиксный тип
Практика на операции
Практика на формулы
Массивы
Введение в массивы
Просмотр содержимого массива
Отдельный элемент массива
Ассоциативные массивы
Хитрость с ключами
Строковые ключи
Порядок элементов
Длина массива
Последний элемент массива
Изменение элементов
Перезапись элементов массива
Инкремент и декремент
Заполнение массивов
Явное указание ключей
Ключи из переменных
Условия
Конструкция if-else
Операторы больше и меньше
Проверка на равенство
Проверка на неравенство
Сравнение переменных
Типы данных и конструкция if-else
Числа в кавычках
Равенство по значению и типу
Неравенство по значению и типу
Нюансы при сравнении типов данных
Использование сравнения по типу данных
Сложные условия в if-else
Логическое И
Логическое ИЛИ
Приоритет операций сравнения
Группировка условий
Инвертирование высказываний
Конструкция if-else и булевы значения
Логические значения и двойное равно
Сокращенный if
Нюанс сокращенных операций
Команда isset
Подавление ворнинга
Инвертирование высказывания
Элементы массивов
Команда empty
Сокращенный синтаксис
снизу дать задачу
Необязательность фигурных скобок
Проблема необязательности скобок
Комбинации if-else
Конструкция elseif
Вложенные if
Конструкция switch-case
задачи в конец, с готовым кодом
Необязательность default
Необязательность break
Тернарный оператор
Оператор объединения с null
Цепочки операторов объединения с null
Логические операции
Определение четверти часа
Проверка длины строк и массивов
Проверка символа строки
Остаток от деления
Практика if else
Циклы
Цикл foreach
Элементы массива через foreach
Столбец элементов массива
Квадраты чисел
Накопление суммы
Цикл foreach с ключами
Цикл foreach и условие if
нужен ранее урок на теги выходные курсив жирность пока убрал
Цикл while
Более сложный цикл while
Обратный отсчет в цикле while
Бесконечное выполнение while
Забытое увеличение счетчика while
Перепутаны инкремент и декремент в цикле while
Изначально неверное условие в цикле while
Неправильное понимание условия окончания в цикле while
Цикл for
Накопление результата в цикле
получше расписать
Сокращенный синтаксис циклов
доработать, задачи
Полный синтаксис for
задачи
Инструкция break
Инструкция continue
задачи
Работа с флагами
Проверяем наличие элемента массива
Проверяем отсутствие элемента массива
Произвольное количество итераций в цикле while
Произвольное количество итераций в цикле for без тела
тут цикл без тела for. Надо ли?
Формирование строк в цикле
Формирование строк с цифрами через циклы
Вложенные циклы
Заполнение массивов
Заполнение массивов через цикл for
Заполнение массивов в цикле из другого массива и еще по условию
Цикл for для массивов
Применение цикла for для массивов
Распространенная ошибка при применении цикла for для массивов
Изменение массивов в цикле for
Сокращенные операции для изменения массива в цикле for
Практика на массивы в цикле
Практика на циклы
Многомерность
Многомерные массивы
Трехмерный массив
Ассоциативные массивы
Произвольные массивы
Перебор многомерных массивов
Перебор трехмерного массива
Работа с ключами в многомерных массивах
Заполнение многомерных массивов
Заполнение многомерных массивов числами по порядку
в конце задачи на поиск ошибок рассмотреть
Массив ассоциативных массивов
Конвертация многомерных массивов
сдел конвертор лучше
Стандартные функции
Пользовательские функции
Введение
Параметры функции
Несколько параметров
Параметры-переменные
Необязательные параметры
Инструкция return
Последовательный вызов функций
в середине задачи закомменчены, сделать
Тонкое место return
Цикл и return
Применение return в циклах
Прием работы с return
Флаги в функциях
Логические операторы в функциях
Советы по функциям
поработать еще
Практика на функции
Рекурсия
Рекурсия
Пример с параметром
Сумма элементов массива
Рекурсия и многомерные массивы
Сумма многомерного массива
Манипуляции с элементами
Регулярные выражения
Введение
Операторы повторения
Группирующие скобки
Экранировка спецсимволов
Список специальных символов
Фигурные скобки
Ограничение жадности
Группы символов
Наборы символов
Инвертирование наборов символов
Особенности кириллицы
Спецсимволы внутри наборов
Группы символов внутри наборов
Спецсимволы-исключения внутри наборов
Символ шляпки внутри наборов
Особенности дефиса внутри наборов
Начало и конец строки
еще задач с долларом
Конец или начало слова
Команда 'или'
еще задач
Ограничители
Экранировка ограничителей
Обратный слеш
Проверка строки
Автоматическое тестирование регулярок
Проверка всей строки
Карманы при поиске
Поиск всех совпадений
Все совпадения на карманы
Изменение поведения поиска
стоит ссылка на 4тый параметр
Несохраняющие скобки
Карманы при замене
Карманы в выражении
Именованные карманы
Именованные карманы внутри выражения
Общий номер карманов
Позитивный и негативный просмотр
я бы переписал
Замена с коллбэком
еще задач
Модификаторы
Игнорирование регистра регулярок
Комментарии в регулярке
Работа с юникодом в регулярках
Изменение жадности регулярок
Экранировка обычных символов в регулярках
Несколько модификаторов регулярок
Формирование строк
Вставка переменных
Вставка элементов массива
Вставка элементов ассоциативных массивов
Цикл и вставка переменных
Вставка элементов массивов в цикле
Вставка элементов многомерных массивов в цикле
Генерация тегов
Генерация тегов с атрибутами
Цикл и генерация тегов
Цикл и генерация тегов из массивов
Цикл и генерация тегов и атрибутов
Цикл и генерация 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
Профиль
Аккаунт
Смена пароля
Подтверждение пароля
Удаление аккаунта
Права
Регистрация с разделением прав
Права и нормализация базы данных