Advertisement
Guest User

Untitled

a guest
Jul 6th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.73 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set("display_errors", 1);
  4. class 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>
  81. HTML;
  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);
  109. echo $obj->post_update();
  110. echo $obj->display_public();
  111. mysql_close($db_connection); // закрытие подсоеденения к БД
  112. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement