Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- ini_set("display_errors", 1);
- class simpleCMS { //работа с БД
- public $host = "localhost"; //параметр класа
- public $username = "root";
- public $password = "";
- public $db = 'testDB';
- public function connectDB() { //функция подключения к серверу MySQL
- $link = mysql_connect($this->host, $this->username, $this->password); //подключаемся к серверу MySQL
- if (!$link) { //проверяем произошло ли подключение к серверу
- die('Ошибка соединения: ' . mysql_error()); //false, функция вывода ошибки
- } // закрытие условия if
- mysql_select_db($this->db) or die("Не могу найти БД. " . mysql_error()); //подсоеденяем БД
- $this->buildDB(); //вызываем функцию создания таблицы
- return $link; //вовзращение переменной с содержанием функции подключения к серверу
- } //закрытие функции подключения к серверу
- public function buildDB() { //функция создания таблицы 20//переменной задаем значение создания таблицы "messages" c 'полями' их типом и макс длинной строки
- $sql = "CREATE TABLE IF NOT EXISTS `messages` (
- `mid` int(11) NOT NULL AUTO_INCREMENT,
- `title` varchar(150) DEFAULT NULL,
- `body` text,
- `created` varchar(100) DEFAULT NULL,
- `contacts` varchar(13) NOT NULL,
- PRIMARY KEY (`mid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ";
- $result = mysql_query($sql);
- return $result;
- }
- public function write($p) { //функция записи сообщения
- $sql = 'INSERT INTO messages(title, body, created, contacts) VALUES("' . $p["title"] . '" , "' . $p["body"] . '", ' . time() .', "'.$p["contacts"].'")'; //оператор(колонки) значения (к каждой колонке)
- return mysql_query($sql) or die(mysql_error());
- }
- public function display_public() { //функция вывода сообщений
- $content = '';
- $sql = 'SELECT * FROM messages '; // оператор запроса выборки * - выбор всех полей каждой строки из "messages" таблицы
- $result = mysql_query($sql) or die(mysql_error()); //выполнение запроса выборки
- while($row = mysql_fetch_array($result)){
- $content .='<table class="post" style="border: 2px solid #cccccc;
- border-collapse: separate;
- border-spacing: 10px;
- padding: 5px;">';// оборачивает запись
- $content .='<tr>';
- $content .= '<td><span class="time">#' . $row['mid'] . '</td><td>от' .date('d-m-Y', $row['created']) . '</span></td><td><h2>' . $row['title'] . '</h2></td>'; //вывод времени и заголовка
- $content .= '<td><p>' . $row['body']. '</p></td>'; //вывод текста
- $content .= '<td><p>' . $row['contacts']. '</p></td>'; //вывод контактов
- $content .='</tr>';
- $content .= '<tr><td><p><a href="?admin=update&mid=' . $row['mid'] . '">Редактировать сообщение</a></p></td></tr>'; // добавляем ссылку на редактирование сообщения
- $content .= '</table><br><br>'; //закрывающая запись
- }
- return $content;
- }
- public function update($p) { //функция обновления записи
- $sql = 'UPDATE `messages` SET `title` = "' . $p["title"] . '", `body` = "' . $p["body"] . '", `created` = "' . $p["created"] .'" WHERE `messages`. `mid` = "' .$p['mid']. '" '; //переменная которая содержит оператор обновления таблицы с ключем массива и переменными значений с массива
- return mysql_query($sql) or die(mysql_error()); //запрос к бд или ошибка
- }
- public function post_update() { //функция редактирования
- if(isset($_GET['mid'])) {
- $message_id = $_GET['mid']; //назначение переменная запросу get mid
- }
- if(!empty($message_id)){
- $result = mysql_query('SELECT * FROM messages WHERE mid='.$message_id) or die(mysql_error()); // назначение переменной запроса к бд с выборкой с записи где есть mid со всех или ошибка
- $row = mysql_fetch_object($result); // назначение переменной обработка реультата 69//форма
- $form = <<<HTML
- <form action="?admin=update" method="post">
- <label for="title">Имя:</label><br>
- <input type="text" id="title" name="title" maxlength="150" value=$row->title ><br>
- <input type="hidden" name="mid" id="mid" value=$row->mid ><br>
- <label for="body">Сообщение:</label><br>
- <textarea name="body" id="body"> $row->body </textarea><br><br>
- <input type="submit" value="Сохранить">
- </form>
- <p><a href="/Kotte">Вернуться на главную</a></p>
- HTML;
- return $form;
- if(isset($_POST["title"]) && isset($_POST["mid"]) && isset($_POST["body"])) {
- $this->title = $_POST["title"];
- $this->mid = $_POST["mid"];
- $this->body = $_POST["body"];
- }
- }else{ //false
- if (!empty($_POST)) {
- $p = array( "mid" => $_POST['mid'], "title" => $_POST["title"], "body" => $_POST["body"], "created" => time() );
- $this->update($p);
- $form = '';
- $form .= '<p>Сообщение изменено!';
- $form .= '<p><a href="/Kotte #mid-'.$_POST['mid'].'">Перейти к записи</a></p>';
- }else{
- $form = '<p>Нет значения mid!</p>';
- }
- }
- return $form;
- }
- }
- $obj = new simpleCMS; //создание обьекта класа
- $db_connection = $obj->connectDB(); //назначение переменной вызова функции подключения к серверу (к БД)
- //$item = array("title" => "заголовок", "body" => "текст", "contacts" => "номер"); //назначение переменной функции массива с (ключами-названий поля и => их значений)
- //$obj->write($item); //вызов функци записи сообщений через массива
- //$p = array( "mid" =>"2", "title" => "привет котя", "body" => "как дела?", "created" => time(), "contacts" => "номер");
- //$obj->update($p);
- echo $obj->post_update();
- echo $obj->display_public();
- mysql_close($db_connection); // закрытие подсоеденения к БД
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement