Обучение C#

Формула программиста
основатель — Волосатов Евгений Витольдович

Интернет-магазин

Это не «видео-курс», а «фото-курс».
Каждый урок помещается на одной картинке.
Выполняя последовательно все задания можно
в конечном итоге создать свой интернет-магазин.

В курсе используются технологии:
MySQL, PHP (в составе EasyPHP), JavaScript, HTML, CSS.

Использование форм в html и  связь html c php, методы Post и Get, загрузка файлов.
Работа с массивами $_POST, $_GET, $_FILES.
PHP функции: mysqli_connect(), mysqli_query(), mysqli_fetch_assoc(),
move_uploaded_file(), isset(), header(),, addslashes(), die(). print_r().
Работа в консоли MySQL: подключение к базе данных, варианты select-запросов, insert, update.


Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Установка EasyPHP 70 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 5 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: на скриншоте софт, который я когдато позаимствовал для удобства мониторинга и перезагрузки сервера апач на своём первом сервере с виндой, так же есть второй сервер на лине, там свежее php, если этого будет не хватать, перенесу на линь проект, но думаю и его хватит, поэтому EasyPHP комплект не стал качать, так как всё необходимое уже имеется, настроено и работает уже многие годы, идём дальше 
2 Запуск базы данных 65 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: специально для курса поднял отдельную БД, нестандартный порт =) ничего, придётся чуток дописывать параметры коннекта, не критично, идём дальше... 
3 Добавление товаров 64 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 5 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: так как опыт использования MySQL с 2003 года, решил использовать методы добавления записей способом, который считаю наиболее верным, даже если в будущем надо будет добавить колонки или менять какие-то местами, этот запрос будет работать, а значит минимум работы по исправлению ошибок, урок как и курс очень полезный, может быть открою в нём для себя что-то новое =) 
4 phpMyAdmin 60 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 3 час. 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: найти время 
Комментарии: так как в этом уроке нужен phpMyAdmin, решил скачать последнюю версию в zip-архиве с оф. сайта, распаковал на стареньком сервере, не запустился, не понравилось, что старая версия php, ок, залил по ftp на новый сервер, настроил, подключаюсь, ругается что MySQL старая версия, естественно, она у меня давно не обновлялась и версии 5.1.59, пока для нужд хватало, ну ладно, решил скачать 5.5.51, минимальная версия которая нужна для последней версии phpMyAdmin, поставил, перенёс БД, настроил конфиг по аналогии со старой версией, кое что новое в конфиге пришлось до настроить, так как не хотелось работать с моими, годами отточенными, настройками, поэтому изучил мануалы новой версии, настроил так, как мне надо и новые параметры, после чего удалось залить дамп БД с версии 5.1.59 в версию 5.5.51, после чего авторизовался через phpMyAdmin и добавил 10 записей, конечно можно было быстро это сделать через Navicat, но зачем нам лёгкие пути? phpMyAdmin - это бесплатная панель управления БД которая есть на каждом хостинге, поэтому обязательная вещь для изучения, я хоть её и знаю, но решил поставить, чтобы поглядеть, что нового в последних версиях, а то на хостингах обычно старьё. з.ы. кстати, заметил, в этом уроке на скриншоте поля price и info поменяны местами, хотя задачи таковой небыло пока что, к чему бы это =) 
5 SELECT запросы 54 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 15 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Общая сумма всего товара SELECT SUM(`price`) FROM `ware`; 
6 Запуск РНР 53 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: залил на свой старенький сервачёк, пока что и версии php 5.1 хватает, если не будет хватать, перенесу на новый и продолжу там реализацию =) 
7 Всё готово для работы 53 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничего нового 
Сложности: ничего 
Комментарии: предвкушаю продолжение интерсного курса =) 
8 Подружить PHP с MySQL 48 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: хорошая последовательность уроков, отличная проверка на стальные нервы =) 
9 Товары в таблице 47 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Всё отлично, идём дальше =) 
10 Картинки для товаров 49 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Картинки подобрал, видимо в след уроках будем их приводить к единому размеру =) 
11 Таблица с Картинками 46 чел. ★ 4.7 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Коротко и ясно =) то что надо для урока фото-курса, ясная мысль и ничего лишнего з.ы. обработал в фотошопе все картинки, а то уж очень руки чесались, так как ширину сделали 100, то картинки сделал 200х200 из-за того, что при ресайзе они чётче смотрятся, не такие замыленные, если бы делал 100х100 качество в браузере было бы хуже, проверено временем =) з.з.ы. как видно их скриншота, занимаемое место картинка уменьшилось почти в 300 раз, это очень важно для сайта, быстрее будут грузиться на стороне клиента и трафика меньше на сервере расходуется в пустую, если сделать картинки 100х100 то можно ещё в 2+ раза уменьшить картинки, но это уже не критично 
12 Форма Товара 41 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 3 час. 00 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: С виду вроде простой урок, но когда увидел задание со звёздочкой, понял, что времени займёт побольше домашнее задание =) 
13 INSERT из РНР 40 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 50 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: перенёс подключение к БД в отдельный файл dbase.php, а то что это он у нас бесхозно валяется =) так же добавил проверки коннекта к БД/Серверу, если они успешны настраиваются параметры языка и кодировки (люблю я utf8) в прошлых уроках держался, в этом уже не выдержал, хотелось добавить товары на Русском языке =) 
14 SELECT из РНР 37 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: перенёс pre между тегами body из-за того, что плыл дизайн итоговой странички =) з.ы. теги title и link переносились body, теперь всё ок 
15 Товар на форме 36 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 5 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: пункты 2, 3 и 4 ещё на пролом уроке сделал, поэтому просто выполнил пункт 1, добавил картинку цветных шариков и обновил в БД данные по имени файла и скриншот =) 
16 UPDATE товара 35 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: выполнил задания со звёздочками, см. скриншот 
17 Сохранение изменений 32 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Если установлен GET, то SELECT запрос произвожу в любом случае. Если нет POST запроса, то используется для отображения текущего товара в форме, если же POST запрос был, то проверяется есть ли товар с таким айди в БД или нет, если есть, то данные о товаре обновляют, если нет, то добавляется новая запись. з.ы. см. скриншот. 
18 Значения по умолчанию 32 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: по-умолчанию используемые переменные сделал пустыми, а в поля формы добавил placeholder, он отображается если ничего не ввели, как только ввели данные, его не видно, эдакая подсказка, какое поле для чего, так же если картинки нет, даже у существующего товара, то не будет отображаться квадратик "не найденной картинки" =) 
19 Нет картинки 32 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: полезная фишка, с прошлого урока вернул обратно HTML код картинки, в переменной теперь хранится имя файла, идём дальше 
20 Редирект на список 32 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 1 час. 45 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: добавил функцию редиректа (в ней 3 вида редиректов, использован редирект со временем в 2 секунды, чтобы было видно сообщение о добавлении/обновлении записи в БД или ошибке, малоли) добавил несколько стилей для отображения "Списка товаров" (+ наследование осталось) добавил чередование фона товаров в списке добавил кнопочки "Изменить" которые ведут на редактирование товара, напротив которого её нажали добавлена кнопка "Добавить" вверху-справа, чтобы открылась пустая форма для добавления нового товара перенёс файл dbase.php в папку "include" и туда же добавил функцию редиректа в файле functions.php 
21 Интерактивный список 30 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: 1 и 2 пункты сделал на прошлом уроке, как домашнее задание. добавил кнопку и функционал для удаления товара с возможностью отменить удаление в течении 15 минут =) идём дальше... 
22 Отправка файла 28 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: повторение старого 
Сложности: найти время 
Комментарии: я уже чуть не написал систему обработки загружаемых картинок, но потом хорошо подумал и понял, что тут надо показать дамп массива _FILES, всё супер, идём дальше 
23 Сохранение файла 26 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 1 час. 30 мин. [Показать отчёт]
Научился: повторение старого 
Сложности: найти время 
Комментарии: добавил папку fonts с файлом шрифта внутри для использования при наложении водяного знака поверх заливаемых фото добавил функции обработки/проверки добавляемых фото с наложением водяных знаков (создал её много лет назад, пришлось немного модернизировать под текущие нужды) множество проверок при добавлении фото (если всё ок, будет положительный лог на экране, спустя 2 сек редирект к списку) добавил иконки для логов ошибок (зелёная галочка или красный кирпичик соответственно) 
24 Запись имени файла в базу 21 чел. ★ 4.9 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: повторение старого 
Сложности: ничего 
Комментарии: так как ранее была реализована система удаления на сонове задержки в 15 минут, в базе остаются помеченные как удалённый записи, теперь при добавлении товара вначале используются помеченные записи и обновляются данные, если же их нет, тогда добавляется новая запись в БД на скриншоте пошагово показано: 1 - добавили товар, но не прикрепили фото (сообщение) 2 - показано, что товар добавлен, но фото нет 3 - окно редактирования товара, прикреплено фото 4 - сообщения о процессе привязки фото и обновлению товара в БД 5 - в списке товаров уже видно фото у товара з.ы. если фото не прикрепили, то остаётся старое фото (если оно было) провёл косметику дизайна и кода 
25 ФИНАЛЬНЫЙ УРОК 18 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: повторил старое 
Сложности: ничего 
Комментарии: Повторил php + NySQL, курс оказался очень коротким, нужно добавить ещё уроков 75 =) чтобы получился полноценный мини магазинчик, в целом курсом доволен, даёт важные знания как начать создавать онлайн проекты с нуля, но продолжение сезона напрашивается само собой =) 
  Итого:   25 видеоуроков общей продолжительностью 00 мин. 18 чел. ★ 4.88  
  Финалисты:   Varkus Maksim,   Иван,   nik,   Šatravka Vladislav,   Tautavičiūtė Anastasija,   Ender,   Tekashnik,   Владимир,   Alcatraz,   Špakova Anastasija,   Максим,   Voskoboinikova Ana ,   Юрий,   Сергей Соколов,   Иван Воронин,   Новопашин Владимир,   Сергей Сергеевич,   Rita .

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: РНР и MySQL.
Трудности: Понять че написал.
нэма
Научился: Написал отзыв.
Трудности: Ничего.
Курс понравился, на простых примерах получил базовые знания в работе с HTML, РНР и MySQL. Конечно результат получился довольно скромным, но это лучше чем ничего. Может в некоторых случаях лучше выкладывать несколько фотографий. Материал воспринимается легко да и курс проходится намного быстрее, чем если бы это было в виде видеоуроков. Думаю такой формат имеет право на существование. Да и считаю, что курс можно еще доработать, там доделать оформление красивое или т.п.