Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.70 KB | None | 0 0
  1. <?php
  2. class 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">';// оборачивает запись
  44.             $content .= '<span class="time">#' . $row['mid'] . 'от' .date('d-m-Y', $row['created']) . '</span><h2>' . $row['title'] . '</h2>'; //вывод времени и заголовка
  45.             $content .= '<p>' . $row['body']. '</p>'; //вывод текста
  46.             $content .= '<p>' . $row['contacts']. '</p>'; //вывод контактов
  47.             $content .= '<p><a href="/index.php?admin=update&mid='.$row['mid'].'">Редактировать сообщение</a></p>';
  48.             $content .= '</table>'; //закрывающая запись
  49.         }
  50.         $content .= '<p><a href="/index.php?admin=add"> Добавить сообщение</a></p>'; //ссылка на добавление сообщения
  51.         return $content;
  52.     }
  53.    
  54.     public function update($p) {
  55.          $message_id = $_GET['mid'];
  56.           if(!empty($message_id)){
  57.                 $result = mysql_query('SELECT * FROM messages WHERE mid='.$message_id) or die(mysql_error() );
  58.             $sql = 'UPDATE `messages` SET  `title` = "' . $p["title"] . '", `body` = "' . $p["body"] . '", `created` =  ' . $p["created"] .', `contacts` = "'.$p["contacts"].'" WHERE  `messages`.`mid` = "'.$p['mid'].'" ';
  59.                 $row = mysql_fetch_object($result);
  60.             $form = <<<HTML
  61.             <form action="/index.php?admin=update" method="post">
  62.             <label for="title">Имя:</label>
  63.             <input type="text" id="title" name="title" maxlength="150" value=$row->title>
  64.             <div></div>
  65.             <input type="hidden" name="mid" id="mid" value=$row->mid>
  66.             <label for="body">Сообщение:</label><br>
  67.             <textarea name="body" id="body"> $row->body </textarea><br>
  68.             <div></div><br>
  69.             <input type="submit" value="Сохранить">
  70.             </form>
  71.             <p><a href="/index.php">Вернуться на главную</a></p>
  72. HTML;
  73.         }else{
  74.     if (!empty($_POST)) {
  75.       mysql_query('UPDATE messages SET title="'.$_POST["title"].'", body="'.$_POST["body"].'" WHERE mid='.$_POST["mid"] ) or die (mysql_error());
  76.       $form .= '<p>Сообщение изменено!';
  77.       $form .= '<p><a href="/index.php#mid-'.$_POST['mid'].'">Перейти к записи</a></p>';
  78.     }else{
  79.       $form .=   '<p>Нет значения mid!</p>';
  80.       $form .= '<p><a href="/index.php">Вернуться на главную</a></p>';
  81.     }
  82.   }
  83.   return $form;
  84. }
  85.    
  86. }
  87.  
  88. $obj = new simpleCMS; //создание обьекта класа
  89. $db_connection = $obj->connectDB(); //назначение переменной вызова функции подключения к серверу  (к БД)
  90. $item = array("title" => "заголовок", "body" => "текст", "contacts" => "номер"); //назначение переменной функции массива с (ключами-названий поля и => их значений)
  91. echo $obj->write($item); //вызов функци записи сообщений через массива
  92. $p = array( "mid" =>"2", "title" => "привет котя", "body" => "как дела?", "created" => time(), "contacts" => "номер");
  93. echo $obj->update($p);
  94. echo $obj->display_public();
  95. mysql_close($db_connection); // закрытие подсоеденения к БД
  96. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement