· 9 years ago · Jul 03, 2017, 11:04 AM
1<?php
2class simpleCMS { //работа Ñ Ð‘Ð”
3 public $host = "localhost"; //параметр клаÑа
4 public $username = "root";
5 public $password = "";
6 public $db = 'testDB';
7
8
9 public function connectDB() { //Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñерверу MySQL
10 $link = mysql_connect($this->host, $this->username, $this->password); //подключаемÑÑ Ðº Ñерверу MySQL
11 if (!$link) { //проверÑем произошло ли подключение к Ñерверу
12 die('Ошибка ÑоединениÑ: ' . mysql_error()); //false, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° ошибки
13 } // закрытие уÑÐ»Ð¾Ð²Ð¸Ñ if
14 mysql_select_db($this->db) or die("Ðе могу найти БД. " . mysql_error()); //подÑоеденÑем БД
15 $this->buildDB(); //вызываем функцию ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹
16 return $link; //вовзращение переменной Ñ Ñодержанием функции Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñерверу
17 } //закрытие функции Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñерверу
18
19 public function buildDB() { //Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ 20//переменной задаем значение ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ "messages" c 'полÑми' их типом и Ð¼Ð°ÐºÑ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð¹ Ñтроки
20 $sql = "CREATE TABLE IF NOT EXISTS `messages` (
21 `mid` int(11) NOT NULL AUTO_INCREMENT,
22 `title` varchar(150) DEFAULT NULL,
23 `body` text,
24 `created` varchar(100) DEFAULT NULL,
25 `contacts` varchar(13) NOT NULL,
26 PRIMARY KEY (`mid`)
27) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ";
28 $result = mysql_query($sql);
29 return $result;
30 }
31
32 public function write($p) { //Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи ÑообщениÑ
33 $sql = 'INSERT INTO messages(title, body, created, contacts) VALUES("' . $p["title"] . '" , "' . $p["body"] . '", ' . time() .', "'.$p["contacts"].'")'; //оператор(колонки) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ (к каждой колонке)
34 return mysql_query($sql) or die(mysql_error());
35 }
36
37 public function display_public() { //Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ñообщений
38 $content = '';
39 $sql = 'SELECT * FROM messages ORDER BY mid DESC'; // оператор запроÑа выборки * - выбор вÑех полей каждой Ñтроки из "messages" таблицы
40 $result = mysql_query($sql) or die(mysql_error()); //выполнение запроÑа выборки
41
42 while($row = mysql_fetch_array($result)) {
43 $content .='<table class="post" style="border: 2px solid #cccccc;
44 border-collapse: separate;
45 border-spacing: 10px;
46 padding: 5px;">';// оборачивает запиÑÑŒ
47 $content .='<tr>';
48 $content .= '<td><span class="time">#' . $row['mid'] . '</td><td>от' .date('d-m-Y', $row['created']) . '</span></td><td><h2>' . $row['title'] . '</h2></td>'; //вывод времени и заголовка
49 $content .= '<td><p>' . $row['body']. '</p></td>'; //вывод текÑта
50 $content .= '<td><p>' . $row['contacts']. '</p></td><br>'; //вывод контактов
51 $content .='</tr>';
52 $content .= '<tr><td><p><a href="/index.php?admin=update&mid='.$row['mid'].'">Редактировать Ñообщение</a></p></td></tr>';
53 $content .= '</table>'; //Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ
54 }
55 $content .= '<p><a href="/index.php?admin=add"> Добавить Ñообщение</a></p>'; //ÑÑылка на добавление ÑообщениÑ
56 return $content;
57 }
58
59 public function update($p) {
60 $sql = 'UPDATE `messages` SET `title` = "' . $p["title"] . '", `body` = "' . $p["body"] . '", `created` = "' . $p["created"] .'" , `contacts` = "'.$p["contacts"].'" WHERE `messages`.`mid` = "'.$p['mid'].'" ';
61 mysql_query($sql) or die(mysql_error());
62 }
63
64 public function post_update() {
65 $message_id = $_POST['mid'];
66 if(!empty($message_id)){
67 $result = mysql_query('SELECT * FROM messages WHERE mid='.$message_id) or die(mysql_error() );
68 $row = mysql_fetch_object($result);
69 $form = <<<HTML
70 <form action="/index.php?admin=update" method="post">
71 <label for="title">ИмÑ:</label><br>
72 <input type="text" id="title" name="title" maxlength="150" value=$row->title><br>
73 <input type="hidden" name="mid" id="mid" value=$row->mid ><br>
74 <label for="body">Сообщение:</label><br>
75 <textarea name="body" id="body"> $row->body </textarea><br>
76 <input type="submit" value="Сохранить">
77 </form>
78 <p><a href="/index.php">ВернутьÑÑ Ð½Ð° главную</a></p>
79HTML;
80 }else{
81 if (!empty($_POST)) {
82 $p = array( "mid" => $_POST['mid'], "title" => $_POST["title"], "body" => $_POST["body"], "created" => time(), "contacts" => $_POST["contacts"] );
83 $this->update($p);
84 $form .= '<p>Сообщение изменено!';
85 $form .= '<p><a href="/index.php#mid-'.$_POST['mid'].'">Перейти к запиÑи</a></p>';
86 }else{
87 $form .= '<p>Ðет Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ mid!</p>';
88 $form .= '<p><a href="/index.php">ВернутьÑÑ Ð½Ð° главную</a></p>';
89 }
90 }
91 return $form;
92}
93
94
95}
96
97$obj = new simpleCMS; //Ñоздание обьекта клаÑа
98$db_connection = $obj->connectDB(); //назначение переменной вызова функции Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Ñерверу (к БД)
99$item = array("title" => "заголовок", "body" => "текÑÑ‚", "contacts" => "номер"); //назначение переменной функции маÑÑива Ñ (ключами-названий Ð¿Ð¾Ð»Ñ Ð¸ => их значений)
100echo $obj->write($item); //вызов функци запиÑи Ñообщений через маÑÑива
101//$p = array( "mid" =>"2", "title" => "привет котÑ", "body" => "как дела?", "created" => time(), "contacts" => "номер");
102//echo $obj->update($p);
103echo $obj->post_update();
104echo $obj->display_public();
105mysql_close($db_connection); // закрытие подÑÐ¾ÐµÐ´ÐµÐ½ÐµÐ½Ð¸Ñ Ðº БД
106?>