Воскресенье, 19.05.2024, 14:44
Приветствую Вас Гость

ДИЗАЙН - СТУДИЯ "ВИКТОРИЯ"

Главная » Статьи » Програмирование » Цикл статей CMS своими руками

Код админки на PHP+MySQL
Структура таблицы `pages`:
CREATE TABLE `pages` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `body` text NOT NULL,
  `title` varchar(255) NOT NULL default '',
  `metatitle` varchar(255) NOT NULL default '',
  `metakeywords` varchar(255) NOT NULL default '',
  `metadescription` text NOT NULL,
  `sortirovka` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Код файла подключеня к базе данных - 'inc/connect.php':
//этой строкой говорим, что пхп код начался. В дальнейшем будем писать проще: "$link = mysql_connect('dbhost', 'dbuser', 'password') or die("Не могу соединиться");
mysql_select_db('dbname', $link);
// а в последней строке мы укажем, что пхп код закончился
?>
Код файла админки - 'adm/index.php':
function show_form(){
        
// подключаем файл с настройками подключения к БД
        
require '../inc/connect.php';

        
//делаем запрос к БД, на данный момент на следующие две строчки не стоит обращать внимание, объясню их потом, посокльку на данном этапе они еще не используются.
        
$result = mysql_query("SELECT * FROM pages WHERE id = '".$_GET['id']."';", $link);
        
$row = mysql_fetch_array($result);
?>
<!-- далее идет обычный HTML -->
<form action="" method="post">
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
  <td>
     <p>Название страницы (title)</p>
  </td>
</tr>
<tr bgcolor="#ffffff">
  <td>
     <input type="text" name="title" value="(stripslashes($row['title']));?>" class="enter" size="79">
  </td>
</tr>
<tr bgcolor="#B0ADC3">
  <td>
     <p>Заголовок страницы (Meta - title)</p>
  </td>
</tr>
<tr bgcolor="#ffffff">
  <td>
     <input type="text" name="metatitle" value="(stripslashes($row['metatitle']));?>" class="enter" size="79">
  </td>
</tr>
<tr bgcolor="#B0ADC3">
  <td>
     <p>Ключевые слова (Meta - keywords)</p>
  </td>
</tr>
<tr bgcolor="#ffffff">
  <td>
     <input type="text" name="metakeywords" class="enter" size="79" value="(stripslashes($row['metakeywords']));?>">
  </td>
</tr>
<tr bgcolor="#B0ADC3">
  <td>
     <p>Описание (Meta - description)</p>
  </td>
</tr>
<tr bgcolor="#ffffff">
  <td>
     <input type="text" name="metadescription" class="enter" size="79" value="(stripslashes($row['metadescription']));?>">
  </td>
</tr>
<tr bgcolor="#B0ADC3">
  <td><p>Текст страницы</p></td>
</tr>
<tr bgcolor="#ffffff">
  <td>
      <textarea name="body" rows="20" cols="59" class="enter">
                // "?>
                ($row['body']);?>
      </textarea>
  </td>
</tr>
<tr>
  <td bgcolor="#1F2760" align="right">
      <input type="hidden" name="id" value="['id'];?>">
      <input type="submit" value="отправить" name="edit">
  </td>
</tr>
</table>
</form>
} // функция show_form() закончилась
function complete(){
      
// подключаем файл с настройками подключения - это мы уже знаем.
      
require '../inc/connect.php';

      
// делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
      
$result = mysql_query("SELECT * FROM pages WHERE id = '".$_POST['id']."';", $link);

      
// перекидываем данные из MySQL в пхпшный ассоциативный массив
      
$row = mysql_fetch_array($result);

      
// проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
      
if(empty($row['id']))
            
$query = "INSERT INTO pages
                     (body,
                      title,
                      metatitle,
                      metakeywords,
                      metadescription)
                                      VALUES
                            ('"
.mysql_real_escape_string($_POST['body'])."',
                             '"
.mysql_real_escape_string($_POST['title'])."',
                             '"
.mysql_real_escape_string($_POST['metatitle'])."',
                             '"
.mysql_real_escape_string($_POST['metakeywords'])."',
                             '"
.mysql_real_escape_string($_POST['metadescription'])."')";
      
// а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
      
else
            
$query = "UPDATE pages SET
                                     body = '"
.mysql_real_escape_string($_POST['body'])."',
                                     title = '"
.mysql_real_escape_string($_POST['title'])."',
                                     metatitle = '"
.mysql_real_escape_string($_POST['metatitle'])."',
                                     metakeywords = '"
.mysql_real_escape_string($_POST['metakeywords'])."',
                                     metadescription = '"
.mysql_real_escape_string($_POST['metadescription'])."'
                     WHERE id = '"
.$_POST['id']."';";

      
// непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
      
mysql_query($query, $link);

      
// ну и просто выводим крикливую надпись, что скрипт отработал
      
echo '

Данные обновлены

'
;
}
function
show_pages() {
// добавляем javascript, который позволит перед удалением спросить пользователя, уверен ли он в этом.
?>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function Delete(N)
{
     if(confirm("Удалить запись?"))
     {
                 parent.location='?del='+N;
     }
     else
     {
       return false;
     }
}
-->
</SCRIPT>
        require '../inc/connect.php';
        echo
'


  


     Добавить страницу
  
'
;
        echo
'


  
';
        
$result = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
        while(
$row = mysql_fetch_array($result)){
               echo
'

  

  

';
        
// добавили ячейку с ссылкой на удаление и не забыли вставить colspan="2" у заглавной ячейки
         // думаю вы заметили, что в тексте ссылки мы заменили $row{'id'] на $row['title'] и добавили обработку функцией stripslashes()
        
}
        echo
'

     Название страницы
  

     '.stripslashes($row['title']).'
  

     удалить
  
';

}
function
delete_pages(){
        require
'../inc/connect.php';
        
$query = "DELETE FROM pages WHERE id = '".$_GET['del']."';";
        
mysql_query($query, $link);
        echo
'

Данные удалены

'
;
}
if(
$_GET['del']) delete_pages();
if(
$_POST['edit']) complete(); // если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_GET['id']) show_form(); // если мы нажали на ссылку в функции show_pages(), то значит мы передали в переменную $_GET['id'] тот самый id, который нас интересует. Поэтому в этом слчае вызываем форму редактирования нашей странички.
else show_pages(); // ну, а если мы не выбрали определенный id - запускаем нашу функцию выбора id.
?>
и файл вывода 'index.php':
        require 'inc/connect.php';

        
//htmlspecialchars() Преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались.
        
$_GET['id'] = htmlspecialchars($_GET['id']);

        
// если у нас не запрашивали никакую определенную страницу, то будем выводить нашу самую первую. Если Вы ее давно удалили, поставьте вместо единички идентификатор той странички, которую Вы хотели бы грузить по умолчанию
        
if(empty($_GET['id'])) $_GET['id'] = 1;
        
$result = mysql_query("SELECT * FROM pages WHERE id = '".$_GET['id']."';", $link);
        
$row = mysql_fetch_array($result);
?>
<html>
<head>
  <title>['metatitle'];?></title>
  <META NAME="description" CONTENT="(stripslashes($row['metadescription']));?>">
  <META NAME="keywords" CONTENT="(stripslashes($row['metakeywords']));?>">
</head>
<body>
// меню из БД
echo 'Наше меню: ';
        
$resultMenu = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
        
$rowMenu = mysql_fetch_array($resultMenu); // выведем первый пункт меню без точечки
        
echo '['.stripslashes($rowMenu['title']).']';
        while(
$rowMenu = mysql_fetch_array($resultMenu)){
               echo
' · ['.stripslashes($rowMenu['title']).']';
        }
?>
<!-- либо делаем меню ручками, по принципу: -->
<a href="?id=1">первая страница</a>
<a href="?id=2">вторая страница</a>
<a href="?id=3">контакты</a><br /><br />
//stripslashes() - Удаляет экранирование символов - а их мы понаставили в админке, когда загружали данные в базу с помощью функции mysql_real_escape_string()?>
($row['body']);?>
</body>
</html>
Категория: Цикл статей CMS своими руками | Добавил: admin (15.04.2008)
Просмотров: 65165 | Комментарии: 245 | Рейтинг: 4.0/2 |
Всего комментариев: 1161 2 3 ... 11 12 »
116 Travelertum  
0
Cool content you've got here. Have a look at too my own web site

https://www.mistralbg.com/pochivki-turcia/antalia-belek почивки в турция

ptmis+

115 mallistvord  
0
Хоть убей, не знаю.

---
Да, действительно. И я с этим столкнулся. Давайте обсудим этот вопрос. Здесь или в PM. скачать фифа 15 на пк, fifa 15 скачать торрент pc бесплатно а также скачать фифа 15 на пк от механиков

114 KennethExals  
0
Так бывает. Давайте обсудим этот вопрос. Здесь или в PM.

Выбор у Вас непростой http://goldhouseweb.com/index.php?option=com_k2&view=itemlist&task=user&id=120253 - здесь

Согласен! http://raabida.net/index.php?option=com_k2&view=itemlist&task=user&id=159624 - подробное описание тут

Вопрос интересен, я тоже приму участие в обсуждении. Вместе мы сможем прийти к правильному ответу. Я уверен. http://canopuselearning.com/component/k2/itemlist/user/5786 - здесь

Прикол жестокий! http://www.sesanamaurizio.it/index.php?option=com_k2&view=itemlist&task=user&id=68861 - здесь

слов нет,одни эмоции http://theprivilegeclub.org/index.php?option=com_k2&view=itemlist&task=user&id=226214 - здесь

113 Quentinwax  
0
this is the apropriate category to post my article. So if i'm wrong then delete this article - Код админки на PHP+MySQL - Цикл статей CMS своими руками - Програмирование - Каталог статей - ДИЗАЙН - СТУДИЯ "ВИКТОРИЯ".

The book itself contains 400 pages of valuable information about WordPress. It walks you through initial setup, design, security, and long-term maintenance. It also includes code snippets you can put into practice right away. Purchase comes with a lifetime subscription to the book—that means free updates—and free themes. http://www.thacg.net/home.php?mod=space&uid=116386 - download elegantestate real estate wordpress theme The second edition of this must-have WordPress resource is even better than the first, offering an in-depth look at how to build a website from the ground up. I say this one’s a “must-have” because it’s laid out in such an intuitive way that even an experienced developer would find it a handy reference to have on his shelf. http://gzkayak.com/bbs/home.php?mod=space&uid=85680 - g - responsive portfolio wordpress theme

The theme is integrated with PayPal payments, so your visitor?s properties will have the option to pay a tax until it will be accepted by the Administrator. Multilingual real estate wordpress theme is bout Luster. You can check this option on our demo preview using the credentials (Login – demo ; Password – demo) and see the minimal real estate wordpress theme. The property can be published automatically after a successful payment or it can be placed for a review, it depends what settings you will select in the Theme Options panel. Minimalist real estate wordpress theme. http://bbs.dg-nkw.com/space-uid-55253.html - wordpress theme hierarchy Luster Sea is a real estate agency responsive wordpress theme paradise demo example for beach based properties. Real estate broker wordpress theme. If you have a sea based listing, then Luster Sea real estate brokerage wordpress theme is the variation you need. Broker real estate wordpress theme free download. http://scwywhcb.novtong.com/home.php?mod=space&uid=143050 - wordpress theme handbook

Read more - wordpress real estate theme xml
http://kanjia668.com/home.php?mod=space&uid=99379 - real estate wordpress theme idx

112 Tainddounda  
0
Приветки, народ сетевой!
Взгляните на важный проект: http://comptables.ru - бухгалтер удаленно. Разумеется бухгалтер удаленная работа. И понятно удаленный бухгалтер
Идея ресурса http://comptables.ru/forum/topic.php?forum=1&topic=10 - Бухгалтер удаленно ведет Вашу бухгалтерию. - Как будто на хорошем уровне.
Желаю всем счастья, народ сетевой.
Владимир

111 Chaitavalkelpitty  
0
Приветствую Вас, народ сетевой!
Обратите внимание на необычный сайт: http://1koreaclub.ru/ - киа в Медведково. Конечно hyundai в Алтуфьево И напоследок киа в СВАО.
Идея интернет проекта http://1koreaclub.ru/stati/item/67-remont-kia - Ремонт КИА в СВАО.
Всем удачи в сети.
Юзер

110 smowsHogueHounc  
0
Хеллоу, посетители сети!
Взгляните на симпатичный вебсайт: http://kirillovka.com - Первое база отдыха «Приморская». Кроме того Кирилловка. И понятно Азовское море.
Профиль вебресурса http://www.kirillovka.com/forum/topic.php?forum=1&topic=11 - РђР·РѕРІСЃРєРѕРµ РјРѕСЂРµ Рё его климат.
Думается прикольно.
Удачи всем Вам, господа посетители сети.
Саша

109 BiotlyKetexpinty  
0
Привет Вам, посетители сайта!
Обратите внимание на любопытный вебсайт: http://tekstilbella.ru/ - текстильный дизайн интерьера. Кроме того текстильное оформление. И напоследок текстиль дизайн.
Задача проекта http://tekstilbella.ru/articles/page/25 - Студия текстильного дизайна.
Всем пока.
Тигран

108 DomoLietRaneunsem  
0
Доброго дня, посетители сайта!
Взгляните на симпатичный вебсайт: http://1koreaclub.ru/ - киа в Медведково. Затем hyundai в Алтуфьево И наконец хендай в СВАО.
Тема ресурса http://1koreaclub.ru/stati/item/16-remontiruem-kia-v-svao - ремонтируем киа в СВАО.
Всем нам удачи в Интернете.
Тимур

107 Mipinsink  
0
Привет, господа посетители сети!
Посмотрите симпатичный проект: http://vsporta.ru Идея ресурса персональный тренер в митино.
Тема сайта http://www.vsporta.ru/content/stati/udobnyj-fitnes-v-strogino - фитнес центр в митино. - Кажется неплохо.
Пусть у Вас все будет хорошо, дорогие друзья.
Стас

1-10 11-20 21-30 ... 101-110 111-116
Имя *:
Email *:
Код *:
Категории каталога
PHP [0]
Советы по PHP
CSS [1]
Статьи по CSS
Java [0]
Java
MySQL [4]
MySQL
Цикл статей CMS своими руками [8]
Админка сайта на php + MySQL - создание управляемых сайтов
Поиск
Друзья сайта
Статистика
Наш опрос
Оцените мой сайт
Всего ответов: 36