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