Помощь в написании студенческих работ
Антистрессовый сервис

Применение программные средства для анализа экономической информации, используемые в Tencent Шэньжэнь

Дипломная Купить готовую Узнать стоимостьмоей работы

Connection→insert_id: false;}}Order.class.php id;foreach (Database:query ($sql) as $good) {$goods = new OrderGood ($good);}return $goods;}/** * получить стоимость заказа * @parambool $delivery учитывать доставку* @return int */public function getCost ($delivery=true) {$sql = «select (price * qty) as summ from order_goods where order_id=».$this→id;$cost = Database: value ($sql);if ($delivery… Читать ещё >

Применение программные средства для анализа экономической информации, используемые в Tencent Шэньжэнь (реферат, курсовая, диплом, контрольная)

Содержание

  • Федеральное государственное бюджетное образовательное учреждение
  • высшего образования
  • Введение
  • Глава 1. Анализ основных показателей деятельности Alibaba Group и разработка требований к сайту и базе данных
    • 1. 1. Краткая характеристика Alibaba Group
    • 1. 2. Выявление проблем Alibaba Group
    • 1. 3. Разработка требований к сайту и базе данных
  • Глава 2. Разработка дизайна и архитектуры сайта и создание базы данных для Alibaba Group
    • 2. 1. Разработка дизайна и структуры сайта
    • 2. 2. Разработка схемы базы данных
    • 2. 3. Интерфейс базы данных Alibaba Group
  • Глава 3. Реализация разработанного прототипа и оценка качества сайта для ООО Alibaba Group
    • 3. 1. Описание готового интерфейса сайта Alibaba Group
    • 3. 2. Оценка качества сайта
  • Заключение
  • Список литературы
  • Приложение 5
  • Код сайта

В 2009 году с учетом плана работ по капитальному ремонту кабельных магистральных линий ЦСС произведено ознакомление с участками и по пожеланию руководителей РЦС-2 и РЦС-8 произведена корректировка дефектных ведомостей; осуществлена подготовка материальной базы и начата разработка проекта производства работ на участке Можайск — Гагарин (РЦС-8) с целью недопущения замокания кабелей в весенний паводковый период 2010 года. Также специалисты ООО «СТС-Сервис-1″ разработали и изготавливают газонепроницаемые муфты, боксы, стойки СКПС.</p><br class="spacer» /></div>LIBAdmin.class.php<?php/** * глобальные методы панели администрирования */classAdmin {/** * Путь по которому находятся модули*/const MOD_PATH = 'mod/';/** * Список модулей */private static $MODULES = array ('home','posts','products','orders','users');public static function session () {session_start ();}/** * Пользоватнль авторизован? Проверяем по ключу авторизации в сессии* @return boolean */public static function isAuth () {if (array_key_exists ('user_id', $_SESSION) && array_key_exists ('auth_key', $_SESSION)) {$user = new Users ($_SESSION['user_id']);return $user->checkKey ($_SESSION['auth_key']);}else {return false;}}/** * Авторизоваться * @param type $login * @param type $pass * @return boolean * @throws Excetion */public static function authorize ($login, $pass) {// ищем пользователя по логину$user_id = Database: value («select id from users where login='%s' and status=1;», array ($login));if (!$user_id)thrownewExcetion ('Пользователь не найден');// если находим — создаем объект и вызываем функцию авторизации$user = new Users ($user_id);$auth_key = $user->auth ($pass);// если успешено — пишем в сессию ключ авторизацииif ($auth_key) {$_SESSION['user_id'] = $user->id;$_SESSION['auth_key'] = $auth_key;return true;}elsethrownewExcetion ('Пользовательненайден');}/** * проверить сущетвование модуля * @paramstring $mod* @return bool-string */public static function modExists ($mod) {$modfile = self: MOD_PATH.$mod." .php" ;if (in_array ($mod, self:$MODULES) && file_exists ($modfile))return $modfile;elsereturn false;}public static function username () {if (!empty ($_SESSION['user_id'])) {$user = new Users ($_SESSION['user_id']);return $user->name;}return false;}public static function userId () {if (!empty ($_SESSION['user_id'])) {return intval ($_SESSION['user_id']);}return false;}}Buyer.class.php<?phpclass Buyer extends Record {/** * таблицав.

БД * @varstring */protected $table = 'buyers';/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ('firstname','lastname','phone',);}Controller.class.php<?phpclass Controller {protected $input = array ();public function __construct ($input) {$this->input = $input;}}Database.class.php<?php/** * Класс подулючения к базе данных* singleton */class Database {/** * инстанс класса * @var type */private static $instance = null;/** * соединение с БД * @var mysqli */private $connection = null;/** * приватный констуктор — singleton * @throws Exception */private function __construct () {$this->connection = new mysqli ('localhost', 'user16468_test', '250 288', 'user16468_test');$this->connection->query («SET NAMES 'utf8'»);if ($this->connection->connect_errno) {throw new Exception ($this->connection->connect_error, $this->connection->connect_errno);}}/** * получить соединение * @return mysqli */private static function getInstance () {if (!self:$instance)self:$instance = new Database ();return self:$instance->connection;}/** * выполнить запрос * @param string $sql * @param array $placeholders агрументы длоя форматирования vprintf * @return array * @throws Exception */public static function query ($sql, $placeholders = array ()) {$connection = self: getInstance ();if (!empty ($placeholders)) {foreach ($placeholders as &$ph) {$ph = $connection->real_escape_string ($ph);}$sql = vsprintf ($sql, $placeholders);}$result = $connection->query ($sql);if (!$result) {throw new Exception ($connection->error." nnQuery: n" .$sql, $connection->errono);} // не-select запросы if (is_bool ($result))return $result;$res = array ();while ($row = $result->fetch_assoc ()) {$res[] = $row;}return (empty ($res))? false: $res;}/** * получить едиственный ряд * @paramstring $sql * @paramarray $placeholders агрументы длоя форматирования vprintf* @return mixed */public static function singleRow ($sql, $placeholders=array ()) {if ($rows = self: query ($sql, $placeholders)) {return $rows[0]; }else {return false;}}/** * получить едиственный ряд * @paramstring $sql * @paramarray $placeholders агрументы длоя форматирования vprintf* @return mixed */public static function value ($sql, $placeholders = array ()) {if ($rows = self: query ($sql, $placeholders)) {$cnt = count ($rows[0]);if ($cnt == 1) return current ($rows[0]);elseif ($cnt>1)thrownewException («Более одного значения возвращено»);elsethrownewException («Не возвращено ни одного значения»);}else {returnfalse;}}/** * простой update записи по id с очисткой параметров * @paramstring $table — таблица для обновления * @paramarray $fields — ассоциативный массив с полями для обновлния * @paramint $id — id записи для обновления*/public static function simpleUpdate ($table, $fields, $id) {$connection = self: getInstance ();$id = intval ($id);$update_str = «» ;// обходим массив с полями и экранируем данные, за одно и собираем строку запроса// используем замыкание для доступа к $connection и $update_str// ключи экранировать особого смысла нет, так как это не пользовательские данныеarray_walk ($fields, function ($f, $k) use ($connection, &$update_str){$update_str .= $k." = '" .$connection->real_escape_string ($f)." '," ;});// обрежем лишнюю запятую в конце$update_str = trim ($update_str,',');$sql = «update {$table} set {$update_str} where id={$id}» ;// выполняем запрос$q = self: query ($sql);// если были измененные записи — все хорошоreturn ($q && $connection->affected_rows)? true: false;} public static function simpleDelete ($table, $id) {$connection = self: getInstance ();$id = intval ($id);$sql = «delete from {$table} where id = $id» ;// выполняем запрос$q = self: query ($sql);// если были измененные записи — все хорошоreturn ($q && $connection->affected_rows)? true: false;}public static function insert ($table, $fields) {$connection = self: getInstance ();// обходим массив с полями и экранируем данные// используем замыкание для доступа к $connection// ключи экранировать особого смысла нет, так как это не пользовательские данныеarray_walk ($fields, function (&$f) use ($connection){$f = $connection->real_escape_string ($f);if ($f==null) $f = 'null';else $f = «'{$f}'» ;});$sql = «insert into {$table} („.implode (',', array_keys ($fields)).“) values („.implode (',', array_values ($fields)).“)» ;$q = self: query ($sql);// если были вставленные записи — все хорошоreturn ($q && $connection->affected_rows)? $ connection->insert_id: false;}}Order.class.php<?phpclass Order extends Record {/** * таблица в БД * @varstring */protected $table = 'orders';/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ('date_create','date_status','status','buyer_id','delivery_address','delivery_cost');/** * получить товары в заказе в виде списка объектов OrderGood* @return OrderGood[] */public function getGoods () {$goods = array ();$sql = «select id from order_goods where order_id=».$this->id;foreach (Database:query ($sql) as $good) {$goods[] = new OrderGood ($good['id']);}return $goods;}/** * получить стоимость заказа * @parambool $delivery учитывать доставку* @return int */public function getCost ($delivery=true) {$sql = «select (price * qty) as summ from order_goods where order_id=».$this->id;$cost = Database: value ($sql);if ($delivery) $cost += $this->delivery_cost;return $cost;}/** * Подтведрить заказ * @return bool */public function confirm () {$this->status = 5;return $this->save ();}/** * Выполнить заказ * @return bool */public function complete () {$this->status = 10;return $this->save ();}/** * Отменить заказ * @return bool*/publicfunctioncancel () {// при отмене заказа нужнео увеличить кол-во доступного к заказу товараforeach ($this->getGoods () as $good) {$prod = new Product ($good->prod_id);$prod->stock += $good->qty;$prod->save ();}$this->status = 20;return $this->save ();}/** * Перекрыть обновление * @return bool */public function update () {if ($this->status ≠ $this->data_db['status'])$this->date_status = date ('Y-m-d H: i:s');return parent: update ();}}OrderGood.class.php<?phpclass OrderGood extends Record {/** * таблица в БД * @varstring */protected $table = 'order_goods';/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ('order_id','prod_id','price','qty');/** * Перед созданием позиции заказа убедиться что товара достаточно * и уменьшить кол-во доступного у заказу товра* @return bool * @throws Exception */protected function create () {$p = new Product ($this->prod_id);if ($this->qty > $p->stock)throw new Exception («Невозможно заказать {$this->qty} шт. товара {$.

p->name}. Доступно {$p->stock} шт.");$p->stock -= $this->qty;$p->save ();returnparent:create ();}/** * При удалении позиции заказа увеличить кол-во доступного товара* @return bool */public function delete () {$p = new Product ($this->prod_id);$p->stock += $this->qty;$p->save ();return parent: delete ();}protected function update () {// если изменилось кол-во в заказеif ($this->qty ≠ $this->data_db['qty']) {$p = new Product ($this->prod_id);$delta = $this->qty — $this->data_db['qty']; // если кол-во увеличилост — нужно проверить хватит ли товара ещеif ($delta > 0 && $delta > $p->stock) {throw new Exception («Невозможно заказать еще {$delta} шт. товара {$ p->name}. Доступно {$p->stock} шт.»);}// обновить кол-во доступного товара$p->stock -= $delta;$p->save ();}return parent: update ();}}OrdersController.class.php<?phpclass OrdersController extends Controller {public function getList () {$sql = «select o. id, o. date_create, o. date_status, o. status, concat (coalesce (b.lastname,''),' ', coalesce (b.firstname,'')) as buyer_name,((select sum (qty*price) from order_goods where order_id=o.id) + o. delivery_cost) as total_cost, o. delivery_address, b. phone, o. delivery_costfrom orders ojoin buyers b on b. id=o.buyer_idorder by o. date_create desc, o. status asc» ;return Database: query ($sql);}public function edit () {if (empty ($this->input['status']) — empty ($this->input['delivery_cost']) — empty ($this->input['delivery_address']))thrownewException («Заполните все поля»);if (empty ($this->input['id']))throw new Exception ('Не передан ID');$post = new Order (intval ($this->input['id']));$post->status = $this->input['status']; $post->delivery_cost = intval ($this->input['delivery_cost']);$post->delivery_address = $this->input['delivery_address']; $post->save ();}}Posts.class.php<?phpclass Posts extends Record {/** * таблица в БД * @var string */protected $table = 'posts';/** * поля таблицы к которым организуем доступ * @var array */protected $table_fields = array ('date_create','user_id','status','title','text');}PostsController.class.php<?phpclass PostsController extends Controller {public function getList () {$sql = «select p. id, p. date_create, p. status, user.name as user_name, p. title, p. textfrom posts pjoin users user on user. id=p.user_idorder by p. date_create desc» ;return Database: query ($sql);}public function add () {if (empty ($this->input['title']) — empty ($this->input['title']) — empty ($this->input['status']))thrownewException («Заполните все поля»);$post = new Posts ();$post->title = $this->input['title']; $post->text = $this->input['text']; $post->status = $this->input['status']; $post->user_id = Admin: userId ();$post->save ();}public function edit () {if (empty ($this->input['title']) — empty ($this->input['title']) — empty ($this->input['status']))thrownewException («Заполните все поля»);if (empty ($this->input['id']))throw new Exception ('Не передан ID');$post = new Posts (intval ($this->input['id']));$post->title = $this->input['title']; $post->text = $this->input['text']; $post->status = $this->input['status']; $post->save ();}public function del () {if (empty ($this->input['id']))throw new Exception ('Не передан ID');$post = new Posts (intval ($this->input['id']));$post->delete ();}}Product.class.php<?phpclass Product extends Record {/** * таблица в БД * @varstring */protected $table = 'products';/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ('name','description','stock','price','image_url','status');/** * запрещаем удалять товары, делая их неактивными*/public function delete () {$this->status = 0;return $this->update ();}}ProductsController.class.php<?phpclass ProductsController extends Controller {public function getList () {$sql = «select * from products order by id desc» ;return Database: query ($sql);}public function add () {$mandatory = array ('name','description','status'); foreach ($mandatory as $mf) {if (empty ($this->input[$mf]))thrownewException («Заполните все поля»);}$post = new Product ();$post->name = $this->input['name']; $post->description = $this->input['description']; $post->status = intval ($this->input['status']);$post->price = (empty ($this->input['price']))? 0: intval ($this->input['price']);$post->stock = (empty ($this->input['stock']))? 0: intval ($this->input['stock']);$post->image_url = (empty ($this->input['image_url'])) ?

null: $this->input['image_url']; $post->save ();}public function edit () {if (empty ($this->input['id']))throw new Exception ('Не передан ID');$mandatory = array ('name','description','status'); foreach ($mandatory as $mf) {if (empty ($this->input[$mf]))thrownewException («Заполните все поля»);}$post = new Product (intval ($this->input['id']));$post->name = $this->input['name']; $post->description = $this->input['description']; $post->status = intval ($this->input['status']);$post->price = (empty ($this->input['price']))? 0: intval ($this->input['price']);$post->stock = (empty ($this->input['stock']))? 0: intval ($this->input['stock']);$post->image_url = (empty ($this->input['image_url']))? null: $this->input['image_url']; $post->save ();}public function del () {if (empty ($this->input['id']))throw new Exception ('Не передан ID');$post = new Products (intval ($this->input['id']));$post->delete ();}}Record.class.php<?php/** * класс, реализующий ActiveRecord */class Record {/** * уникальный числовой id записи.

P rimarykey в таблице* @var integer */public $id = null;/** * таблица в БД * @varstring */protected $table = null;/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ();/** * данные из таблицы. Работаем с ними через магические __set и __get* @var array */protected $data = array ();/** * изначальные данные из таблицы * @vararray */protected $data_db = array ();/** * геттер дотсупа к полям сущности* @param string $name * @return miced * @throws Exception */public function __get ($name) {if (!in_array ($name, $this->table_fields))throw new Exception («[» .get_called_class ()." ] поле $name не существует");return $this->data[$name]; }/** * сеттерполейсущности * @param string $name * @param mixed $value */public function __set ($name, $value) {if (!in_array ($name, $this->table_fields))$this->name = $value;else$this->data[$name] = $value;}/** * конструктор * @paraminteger-null $id — id записи или null для создания новой*/public function __construct ($id = null) {if ($id) {$this->load ($id);}else {$this->createEmpty ();}}/** * сохранить изменения * @return bool */public function save () {if ($this->id) return $this->update ();elsereturn $this->create ();}/** * удалить запись * @return boolean * @throws Exception */public function delete () {if (!Database:simpleDelete ($this->table, $this->id)) {throw new Exception («[» .get_called_class ()." ] ошибка удадения записи id «.$this->id);}$this->id = null;$this->data = $this->data_db = array ();returntrue;}/** * загрузить данные из БД* @param integer $id * @return boolean * @throws Exception */protected function load ($id) {//поля для загрузки из БД$fields = implode (',',$this->table_fields);$id = intval ($id);// запрос на выборку записи$sql = „select id, {$fields} from {$this->table} where id=%d“ ;$row = Database: singleRow ($sql, array ($id));//если запись не найденаif (!$row)throw new Exception („[“ .get_called_class ().» ] запись с id={$id} не найдена");// id пишем в публичное свойство$this->id = intval ($row['id']);unset ($row['id']);// а остальное — в массив данных для доступа через магические методы и облегчения работы с БД$this->data = $this->data_db = $row;returntrue;}/** * создать пустой объект * @returnboolean*/protected function createEmpty () {// заполняем все поля null’ами$this->data = array ();$this->data_db = array_fill_keys ($this->table_fields, null);returntrue;}/** * записать в БД обновления* @return boolean * @throws Exception */protected function update () {// пишем в базу только изменившиеся данные$affected = array ();foreach ($this->data as $k => $v) {if (isset ($this->data_db[$k]) && $v ≠ $this->data_db[$k]) {$affected[$k] = $v;}}// если ничего не изменилось — просто выходимif (empty ($affected)) {return false;}if (!Database:simpleUpdate ($this->table, $affected, $this->id)) {throw new Exception («[» .get_called_class ()." ] ошибка обновления записи id «.$this->id);}array_merge ($this->data_db, $this->data);returntrue;}/** * создать новую запись * @returnboolean* @throws Exception */protected function create () {if (empty ($this->data)) {throw new Exception („[“ .get_called_class ().» ] пустой массив для создания записи");}if (!($id = Database: insert ($this->table, $this->data))) {throw new Exception («[» .get_called_class ()." ] ошибка добавления записи");}$this->id = intval ($id);array_merge ($this->data_db, $this->data);return $id;}}Users.class.php<?phpclass Users extends Record {/** * таблицав.

БД * @var string */protected $table = 'users';/** * поля таблицы к которым организуем доступ* @var array */protected $table_fields = array ('name','status','login','password','salt','auth_key');/** * Хеширование и засолка пароля* @param string $pass * @return string */private function passPhrase ($pass) {return sha1($pass.$this->salt);}/** * сгенерировать ключ авторизации * @returnstring */private function authKey () {return sha1($this->password.$this->salt.date ('d.m.Y H: i:s'));}/** * Установить новый пароль * @paramstring $new_pass* @throws Exception */public function changePassword ($new_pass) {if (mb_strlen ($new_pass) < 6) thrownewException («Пароль слишком короткий»);// сделаем новую соль$new_salt = md5($new_pass);$this->salt = $new_salt;$this->password = $this->passPhrase ($new_pass);}public function create () {$this->changePassword ($this->password);parent:create ();}/** * запрещаем удалять пользователей, делая их неактивными*/public function delete () {$this->status = 0;return $this->update ();}/** * запрещаем деактивитваровть себя */public function update () {if ($this->id==Admin:userId () && $this->status == 0) thrownewException («Нельзя отключить самого себя»);parent:update ();}/** * авторизовать по паролю * @paramtype $pass*/public function auth ($pass) {$pass = $this->passPhrase ($pass);if ($pass == $this->password) {$key = $this->authKey ();$this->auth_key = $key;$this->update ();return $key;}elsereturn false;}/** * проверить ключ авторизации * @paramtype $key* @return type */public function checkKey ($key) {return ($this->auth_key == $key); }}UsersController.class.php<?phpclass UsersController extends Controller {public function getList () {$sql = «select id, name, login, status from users order by id desc» ;return Database: query ($sql);}public function edit () {if (empty ($this->input['id']))throw new Exception ('Не передан ID');$user = new Users (intval ($this->input['id']));if (!empty ($this->input['login']))$user->login = $this->input['login']; if (!empty ($this->input['name']))$user->name = $this->input['name']; if (!empty ($this->input['status']))$user->status = intval ($this->input['status']);if (!empty ($this->input['password']))$user->changePassword ($this->input['password']);$user->save ();}public function add () {$mandatory = array ('name','login','password'); foreach ($mandatory as $mf) {if (empty ($this->input[$mf]))thrownewException («Заполните все поля»);}$user = new Users ();$user->name = $this->input['name']; $user->login = $this->input['login']; $user->password = $this->input['password']; $user->status = intval ($this->input['status']);$user->save ();}public function del () {if (empty ($this->input['id']))throw new Exception ('Не передан ID');$user = new Users (intval ($this->input['id']));$user->delete ();}}ADMINindex.php<?phpheader («Content-type: text/html; charset=utf-8″);include './__autoload.php';Admin:session ();if (!Admin:isAuth ())header („Location: login. php“);?><!DOCTYPE html><html lang="en» > <head> <meta charset="utf-8″ > <meta http-equiv="X-UA-Compatible" content="IE=edge" > <meta name="viewport" content="width=device-width, initial-scale=1″ > <title>Панель управления</title> <link href="./lib_js/bootstrap/css/bootstrap.min.css" rel="stylesheet" ><script src="./lib_js/jquery-2.

2.3. min. js" ></script><script src="./lib_js/bootstrap/js/bootstrap.min.js" ></script><script src="./lib_js/jqgrid/js/grid.locale-ru.js" type="text/javascript" ></script><script src="./lib_js/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript" ></script><link href="./lib_js/jqgrid/css/ui.jqgrid-bootstrap.css" rel="stylesheet" ><style>html, body {height: 100%;}#body {min-height: 100%;height: 100%;padding-top: 80px;}</style> </head> <body> <nav class="navbar navbar-inverse navbar-fixed-top" > <div class="container" > <div class="navbar-header" > <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar" > <span class="sr-only" >Toggle navigation</span> <span class="icon-bar" ></span> <span class="icon-bar" ></span> <span class="icon-bar" ></span> </button> <a class="navbar-brand" href="#" >Администрирование</a> </div> <div id="navbar" class="collapse navbar-collapse" > <ul class="nav navbar-nav" > <li><a href="?mod=posts" >Публикации</a></li> <li><a href="?mod=products" >Товары</a></li> <li><a href="?mod=orders" >Заказы</a></li><li><a href="?mod=users" >Пользователи</a></li> </ul> </div><!—/.nav-collapse —> </div> </nav> <div class="container" id="body" > <?php$mod = (isset ($_GET['mod']))? $_GET['mod']: 'home';$modfile = Admin: modExists ($mod);if ($modfile)include ($modfile);else include (Admin:modExists ('home'));?> </div><!— /.container —> </body></html>login.php<?phpinclude './__autoload.php';Admin:session ();if (Admin:isAuth ())header («Location: index. php»);$error_text = null;if (!empty ($_POST['login']) && !empty ($_POST['password'])) {try {if (Admin:authorize ($_POST['login'], $_POST['password'])) {header («Location: index. php»);}} catch (Exception $e) {$error_text = $e->getMessage ();}}?><!DOCTYPE html><html lang="en" > <head> <meta charset="utf-8″ > <meta http-equiv="X-UA-Compatible" content="IE=edge" > <meta name="viewport" content="width=device-width, initial-scale=1″ > <title>Вход</title> <!— Bootstrap core CSS —> <link href="./lib_js/bootstrap/css/bootstrap.min.css" rel="stylesheet" ><style> body {padding-top: 40px;padding-bottom: 40px;background-color: #eee; } .form-signin {max-width: 330px;padding: 15px;margin: 0 auto; } .form-signin .form-signin-heading, .form-signin .checkbox {margin-bottom: 10px; } .form-signin .checkbox {font-weight: normal; } .form-signin .form-control {position: relative;height: auto;

— webkit-box-sizing: border-box; -moz-box-sizing: border-box;box-sizing: border-box;padding: 10px;font-size: 16px; } .form-signin .form-control:focus {z-index: 2; } .form-signin input[type="text" ] {margin-bottom: -1px;border-bottom-right-radius: 0;border-bottom-left-radius: 0; } .form-signin input[type="password" ] {margin-bottom: 10px;border-top-left-radius: 0;border-top-right-radius: 0; }</style> </head> <body> <div class="container" ><form class="form-signin" method="POST" > <h2 class="form-signin-heading" >Пожалуйста, представьтесь!</h2><?phpif ($error_text) {echo '<div class="alert alert-danger" role="alert" >'.$error_text.'</div>';}?> <label for="inputEmail" class="sr-only" >Логин</label> <input type="text" name="login" id="inputEmail" class="form-control" placeholder="Логин" autofocus> <label for="inputPassword" class="sr-only" >Пароль</label> <input type="password" name="password" id="inputPassword" class="form-control" placeholder="Пароль" > <button class="btn btn-lg btn-primary btn-block" type="submit" >Вход</button> </form> </div> <!— /container —> </body></html>ajax.php<?phpheader («Content-type», «application/json charset=utf-8″);include './__autoload.php';Admin:session ();if (!Admin:isAuth ()) {header ('HTTP/1.1 403 Forbidden, please log in');return;}if (empty ($_REQUEST['controller']) — !class_exists ($_REQUEST['controller'], true)) {header ('HTTP/1.1 400 Bad Request: Invalid controller');return;}$controller = new $_REQUEST['controller']($_REQUEST);if (!($controller instanceof Controller) — empty ($_REQUEST['oper']) — !method_exists ($controller, $_REQUEST['oper'])) {header ('HTTP/1.1 400 Bad Request: Invalid operation');return;}try {$return = call_user_func (array ($controller, $_REQUEST['oper']));echo json_encode ($return);}catch (Exception $e) {header ('HTTP/1.1 400 Bad Request: Runtime error');echo „ERROR: „.$e->getMessage ();return;}modhome.php<div class="jumbotron“ ><h1>Добро пожаловать, <?php echo Admin: username (); ?>!</h1><p>Для начала работы выберите раздел меню сверху</p></div>orders.php<script type="text/javascript“ > function form_visible (vis) {var status = {» 1″ :'Новый','5':'Подтвержден','10':'Выполнен','20':'Отменен'};return status[vis]; }function editopts_status () {var status = {" 1″ :'Новый','5':'Подтвержден','10':'Выполнен','20':'Отменен'};var str ='';for (var i in status) {if (i≠1) str += «;» ;str += i+" :" +status[i]+" «;}return str;}$(document).ready (function () {$(„#jqGrid“).jqGrid ({url: '/admin/ajax.php?controller=OrdersController&oper=getList', editurl: '/admin/ajax.php?controller=OrdersController', mtype: „GET“, styleUI: 'Bootstrap', datatype: „json“, colModel: [{ label: 'ID', name:'id', key: true, width: 30 },{ label: 'Дата создания', name: 'date_create', width: 50, formatter:'date' },{ label: 'Дата статуса', name: 'date_status', width: 50, formatter:'date' },{ label: 'Статус', name: 'status', width: 50, edittype:'select', editoptions:{ value: editopts_status () }, editable: true, formatter: form_visible },{ label: 'Покупатель', name: 'buyer_name', width: 100 },{ label: 'Сумма', name: 'total_cost', width: 50 },{ label: 'Стоимость доставки', name: 'delivery_cost', width: 50, editable:true, hidden: true, editrules:{edithidden:true} },{ label: 'Адрес доставки', name: 'delivery_address', editable: true, hidden: true, editrules:{edithidden:true}, edittype:'textarea' },{ label: 'Телефон', name: 'phone', width: 70, editable: false }], autowidth: true, viewrecords: true, height: $('#body').height ()-120,rowNum: 20, pager: „#jqGridPager“ }).navGrid ('#jqGridPager',{ search: false, del: false, add: false });//$(„#jqGrid“).jqGrid ('setGridWidth',$('.container').width ());});</script> <table id="jqGrid» ></table> <div id="jqGridPager" ></div>posts.php<script type="text/javascript" > function form_visible (vis) {if (vis==1) return 'Видимый';else if (vis==0) return 'Скрыт';}$(document).ready (function () {$(«#jqGrid»).jqGrid ({url: '/admin/ajax.php?controller=PostsController&oper=getList', editurl: '/admin/ajax.php?controller=PostsController', mtype: «GET», styleUI: 'Bootstrap', datatype: «json», colModel: [{ label: 'ID', name:'id', key: true, width: 75 },{ label: 'Дата создания', name: 'date_create', width: 150, formatter:'date' },{ label: 'Статус', name: 'status', width: 50, edittype:'select', editoptions:{ value:" 1: Видимый;

0:Скрыт" }, editable: true, formatter: form_visible },{ label: 'Автор', name: 'user_name', width: 150 },{ label:'Заголовок', name: 'title', editable: true },{ label:'Текст', name: 'text', editable: true, hidden: true, editrules:{edithidden:true}, edittype:'textarea' }], autowidth: true, viewrecords: true, height: $('#body').height ()-120,rowNum: 20, pager: «#jqGridPager» }).navGrid ('#jqGridPager',{ search: false });//$(«#jqGrid»).jqGrid ('setGridWidth',$('.container').width ());});</script> <table id="jqGrid" ></table> <div id="jqGridPager" ></div>products.php<script type="text/javascript" > function form_visible (vis) {if (vis==1) return 'Видимый';else if (vis==0) return 'Скрыт';}$(document).ready (function () {$(«#jqGrid»).jqGrid ({url: '/admin/ajax.php?controller=ProductsController&oper=getList', editurl: '/admin/ajax.php?controller=ProductsController', mtype: «GET», styleUI: 'Bootstrap', datatype: «json», colModel: [{ label: 'ID', name:'id', key: true, width: 75 },{ label: 'Наименование', name: 'name', editable: true },{ label: 'Цена', name: 'price', width: 50, editable: true },{ label: 'Кол-во', name: 'stock', width: 50, editable: true },{ label: 'Статус', name: 'status', width: 50, edittype:'select', editoptions:{ value:" 1: Видимый;

0:Скрыт" }, editable: true, formatter: form_visible },{ label: 'Описание', name: 'description', editable: true, hidden: true, editrules:{edithidden:true}, edittype:'textarea' },{ label: 'Картинка', name: 'image_url', editable: true, hidden: true, editrules:{edithidden:true} }], autowidth: true, viewrecords: true, height: $('#body').height ()-120,rowNum: 20, pager: «#jqGridPager» }).navGrid ('#jqGridPager',{ search: false });//$(«#jqGrid»).jqGrid ('setGridWidth',$('.container').width ());});</script> <table id="jqGrid" ></table> <div id="jqGridPager" ></div>users.php<script type="text/javascript" > function form_visible (vis) {if (vis==1) return 'Видимый';else if (vis==0) return 'Скрыт';}$(document).ready (function () {$(«#jqGrid»).jqGrid ({url: '/admin/ajax.php?controller=UsersController&oper=getList', editurl: '/admin/ajax.php?controller=UsersController', mtype: «GET», styleUI: 'Bootstrap', datatype: «json», colModel: [{ label: 'ID', name:'id', key: true, width: 75 },{ label: 'Имя', name: 'name', width: 150, editable: true},{ label: 'Логин', name: 'login', width: 50, editable: true },{ label: 'Пароль', name: 'password', width: 50, editable: true, hidden: true, editrules:{edithidden:true}, edittype:'password'},{ label: 'Статус', name: 'status', width: 50, edittype:'select', editoptions:{ value:" 1: Видимый;

0:Скрыт" }, editable: true, formatter: form_visible },], autowidth: true, viewrecords: true, height: $('#body').height ()-120,rowNum: 20, pager: «#jqGridPager» }).navGrid ('#jqGridPager',{ search: false });//$(«#jqGrid»).jqGrid ('setGridWidth',$('.container').width ());});</script> <table id="jqGrid" ></table>

Показать весь текст

Список литературы

  1. О.В. Разработка электронного магазина на PHP и MySQL. Казань, Казанский федеральный университет, 2011, 104 c
  2. Владимир Дронов, Николай Прохоренок. HTML, JavaScript, PHP и MySQL. Джентельменский набор Web-мастера. 2015−766 с
  3. Кевин Янк. PHP и MySQL. От новичка к профессионалу. 2013 — 384с
  4. Робин Никсон. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSSиHTML5. 2015 — 688с
  5. Васвани Викрам. Zend Framework: Разработка веб-приложений на PHP. 2012 — 431с
  6. Дэвид Скляр, Адам Трахтенберг.PHP. Рецепты программирования. 2015 — 784с
  7. Денис Колисниченко. PHP и MySQL. Разработка Web-приложений. 2013 — 543с
  8. А.В., Левонисова С. В. Базы данных: Учебное пособие. — М: Издательский центр «Академия», 2012. — 320 с.
  9. К. Дж. SQL и реляционная теория. Как грамотно писать код на SQL. М.: Символ-плюс. 2010. — 474 с.
  10. Ш. Структурный подход к организации баз данных. — М.: Финансы и статистика, 2013. — 320 с.
  11. MySQL http://www.mysql.ru/docs/man/
  12. MySQL уроки для начинающих с нуля http://www.php-s.ru/MySQL/
  13. «Оценка эффективности инвестиционных проектов» Волков А. С., Марченко А. А. учебное пособие. — РИОР, Инфра-М, 2012 -112 с.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ