Name already in use
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
readme.html
About
Интернет-магазин на PHP и MySQL с использованием MVC
Topics
Resources
Stars
Watchers
Forks
Releases
Packages 0
Languages
Footer
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Пишем интернет магазин на php | php скрипт интернет магазина
Здравствуй уважаемый читатель блога LifeExample, в связи с моим не высоким опытом в современных web технологиях, и великим желанием его наверстать, предлагаю тебе дорогой читатель понаблюдать за процессом моего обучения. С публикацией данной статье о том как собственноручно написать интернет магазин, я начинаю цикл статей уроков, каждый из которых не только расскажет о конкретном модуле и скрипте интернет магазина, но и познакомит нас с новыми технологиями веб программирования.
Прочтение талмуда учебников и чужих примеров скриптов, занятие полезное, но как показывает практика малоэффективное. Как правило, после прочтения литературы, закрепляется меньше знаний, нежели после изучения материала методом проб и ошибок в процессе программирования собственноручно. Именно поэтому процесс моего и, наверное, твоего читатель, обучения будет состоять из двух частей.
Забегая вперед скажу, что у меня получилось реализовать задуманное, и как результат хочу представить вашему вниманию проект Moguta.CMS, который развился из цикла моих уроков.
В первой части мы поставим себе импровизированную, но востребованную задачу (написать php скрипт интернет магазина), и выделим некоторый ряд подзадач к ней.
Вторая часть обучения будет заключаться в анализировании чужих вариантов решения поставленной задачи и выведении собственных гипотез. В эту часть также входит сам процесс программирования, в ходе которого я буду выкладывать на блоге результаты выполнения работы т.е. все скрипты интернет магазина, для общественной критики.
Уже написанные уроки с готовыми php скриптами интернет магазина:
Лирическое отступление. (Ленивым можно не читать)
Раньше люди ходили на заводы работали на государство, приносили домой деньги и все были довольны, пока в тяжелые годы после перестройки не произошло разделение рабочего социального слоя на «Коммерсантов» и «Работяг».
КОММЕРСАНТ (от франц. commercant) — лицо, занимающееся частной торговлей, коммерцией, осуществляющее торговое предпринимательство.
В результате такого разделения простые люди стали работать на дядю коммерсанта, или как принято теперь на Бизнесмена. Многие хотели также открыть собственное дело и работать на себя, но далеко не у всех были возможности. В настоящий момент времени желание открыть свое дело, наконец пересеклось с возможностью и любой жизненный обыватель может за один день получить статус бизнесмена. Возможно, вы уже догадались, что говорю я о бизнесе в интернете, а именно об интернет магазине.
Постановка задачи:
Необходимо, написать платформу для валидного интернет магазина отвечающего запросам потребителя.
Платформа должна включать в себя:
- Две части интерфейса: публичную для пользователей, и административную для владельца магазина.
- Возможность хранить и изменять информацию о товарах в базе данных.
- Предоставлять потребителям форму оформления заказа.
- Публичная часть должна изменяться без перезагрузки страницы, в соответствии с технологией AJAX.
Я считаю, что при выполнении поставленных подзадач, можно будет ознакомиться с престижными технологиями нашего времени.
Технологии, которые должны быть разобраны в результате выполнения задачи:
- Шаблон программирования MVC. (Перейти к разделу статьи о MVC)
- JQuery (Перейти к разделу статьи о JQuery)
- AJAX (Перейти к разделу статьи о AJAX)
Готовым решением поставленной задачи будет являться, некая пародия на cms систему, отвечающая требованиям простенького интернет магазина. Все разработанные php скрипты интернет магазина будут выложенны в общий доступ.
Части статей я буду публиковать по мере изучения материала, надеюсь тебе читатель будет интересно писать интернет магазин на PHP, собственными силами.
Скачать скрипт интернет магазина можно будет частями, по мере публикации уроков.
Как написать интернет магазин на php
В рамках курса мы будем делать небольшой интернет-магазин, который будет показывать время до праздника и запускаться за неделю до начала праздника. Интернет-магазин будет представлять из себя страницу с товарами, на которой можно будет оформить заказ, данные о котором будут приходить администратору магазина на почту. Во время курса мы рассмотрим часто используемые функции PHP, FTP подключение, основы работы с базой данных MySQL, будем использована технология AJAX. В курсе будет использоваться объектно-ориентированное программирование, будем использовать классы, создадим синглтон.
Делаем простейшее подобие интернет-магазина.
Хотя, конечно, вернее будет назвать это "система заказа товаров на сайте".
Но, глядя на сайты многочисленных российских фирм, которые работают
именно по такому принципу (www.dostavka.ru, www.depo.ru, www.wstore.ru),
мы тоже с пафосом назовем набор простеньких скриптов "ИНТЕРНЕТ-МАГАЗИН".
Что для этого потребуется: любой web-сервер, поддерживающий работу с cgi.
Вполне подойдет apache, eserv, pws. Установленный php версий 3.0.х — 4.0.х,
установленный сервер баз данных mysql (хотя, не имеет значения какой именно —
но этот пример написан исходя из того, что установлен именно mysql).
Платформа не имеет особого значения. Это будет работать и на win32, и на unix.
Что мы хотим получить: чтобы пользователи, путешествуя по нашему сайту,
могли заказать интересующие их товары, и чтобы этот заказ попал к нам в руки.
А дальше уже начинается обычная работа менеджеров.
Определим задачи:
1) Каждый пользователь при заходе на сайт должен получить уникальный идентификатор.
Мы же должны знать кто именно заказывает товары?
2) Для каждого пользователя у нас должна хранится виртуальная "корзина",
где будет учитываться что заказано и в каком кол-ве.
3) В конце концов, весь заказ отправляется по e-mail менеждеру (с информацией кто, когда,
что и сколько заказал) и самому пользователю сделавшему заказ.
Делаем таблицы для базы данных товаров. Здесь нужна оговорка — идеальный случай,
если у вас каждый товар имеет свой уникальный код.
По всем правилам именно так и должно быть.
У вас не так? Сделайте поле auto_increment — сильно облегчите жизнь.
Вообщем, будем счиатать что с базой товаров у Вас все ок.
Для определенности, рассмотрим самый простой случай — у вас всего одна таблица с
примерно такой структурой:
Но никакой разницы принципиальной нет, конечно же.
1) Делаем файл, в котором у нас каждому пользователю присваивается идентификатор:
Этим мы устанавливаем файл cookie с именем cookie_tmp, значением $uid
и временем жизни 1 неделя с настоящего момента.
Этот файл вставляем ДО вывода ЛЮБЫХ тэгов html на все (или на какие надо)
страницы нашего сайта:
Если Вас не прельщает использование файлов cookie можно таскать
этот самый $uid по всему сайту через строку запроса или скрытые поля формы.
2) Делаем таблицу для хранения "корзины" заказов:
Поле activated пригодится для проверки когда была добавлена запись в таблицу
и удаления, если, к примеру, это произошло больше недели назад.
2.1) Делаем файл который добавляет в эту нашу таблицу информацию:
2.2) С учетом этого, теперь наш файл который выводит информацию
из базы данных выглядит примерно так:
2.3) Делаем файл basket.php3 — он у нас ответственный за добавление записей
в корзину и просмотр этой корзины:
Добавление товаров в корзину
3) Теперь осталось сформировать текст письма:
4) . и отправить письма (клиенту и менеджеру)
Да, необходимый комментарий. Я на первой странице своего сайта
указывал что это просто СОВЕТЫ, а никак не готовые решения.
И что необходимо почитать кое-что еще прежде чем браться за написание.
В данном случае, я намекаю на статью "приемы безопасного программирования на php".
Вот посмотрите листинг следующего файла и прочитайте то,
о чем я говорю — сразу станет ясно где дыра.
Ну что? Разумеется, опасность в том, что этому скрипту можно подсунуть
ЛЮБЫЕ данные и он их отправит спокойно..
Выход: не пересылать с предыдущей страницы содержимое заказа,
а формировать его непосредственно в этом скрипте.
Вообще, надо стараться таскать за собой как можно меньше данных.
Также, НИКОГДА не повредит проверка того, с какой страницы пришел запрос.
5) Все. Мы получили все что хотели. Теперь осталось только сделать функцию
которая будет чистить таблицу shop_tmp от старых заказов. Но это уже сами.
6) Перед всеми операциями с базой данных вызывается файл
для соединения с базой данных такого вида:
ps. Еще раз повторяю — все что здесь написано я проверил —
ЭТО работает. Если у вас не так — вы просто что-то неправильно сделали.
pps. По просьбам трудящихся, дописан пункт 4.
И немного поправлен пункт три..