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

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

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

Создаем файл index.php

Теперь возвращаемся к FTP и создаем папку 'adm' и переходим к самой сложной и главной задаче - создаем файл index.php, который будет ключевым в нашей админке. Не ищем легких путей и делаем все очень сложно. Поехали.
Пишем нашу первую функцию на 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>Текст страницы</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) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)"
;
      
// а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
      
else
            
$query = "UPDATE pages SET
                                     body = '"
.mysql_real_escape_string($_POST['body'])."'
                     WHERE id = '"
.$_POST['id']."';";

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

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

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

'
;

}
// если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_POST['edit']) complete();?>
?>
Теперь наш файл index.php, который лежит на сервере в папке 'adm' выглядит так:
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>Текст страницы</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) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)"
;
      
// а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
      
else
            
$query = "UPDATE pages SET
                                     body = '"
.mysql_real_escape_string($_POST['body'])."'
                     WHERE id = '"
.$_POST['id']."';";

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

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

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

'
;
}
show_form();
// если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_POST['edit']) complete();
?>
Заливаем на сервер, запускаем в браузере наш файл, пишем в форму любой текст, отправляем данные, заходим в websql, нажимаем обзор и радуемся! Но и на этом пока рано останавливаться. Можно перекурить, либо попить чайку и скорее-скорее продолжить написание нашего файла. Уже через 10 минут Вы можете увидеть, что простейшая админка готова! Итак, добавляем функцию, которая позволит видеть какие странички есть у нас в базе:
function show_pages() {
        require
'../inc/connect.php';
        echo
'


  


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


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

  

';
        }
        echo
'

     Номер страницы
  

     '.$row['id'].'
  
';

}

// функция настолько простая, что мне даже и объяснять там нечего. Опять идет обычный html, в котором встречается запрос к БД, в котором мы просим вывести все наши записи отсортировав их по id. Соответственно, каждый полученный из базы id мы выводим ссылкой, чтобы в него можно было зайти. Короче, ща запустим и будет все понятно ;-)

//А вот поправленный вывод стоит прокоментировать
if($_POST['edit']) complete(); // это так и было
if($_GET['id']) show_form(); // это новый момент, если мы нажали на ссылку в нашей новой функции, то значит мы передали в переменную $_GET['id'] тот самый id, который нас интересует. Поэтому в этом слчае вызываем форму редактирования нашей странички.
else show_pages(); // ну, а если мы не выбрали определенный id - запускаем нашу последнюю функцию выбора id.
?>
А вот теперь наш файл пора протестировать. На данный момент Вы уже сможете почувствовать себя создателем полноценной админки ;-) На всякий случай дублирую новый полный код файла index.php из папки 'adm'
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>Текст страницы</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) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)"
;
      
// а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
      
else
            
$query = "UPDATE pages SET
                                     body = '"
.mysql_real_escape_string($_POST['body'])."'
                     WHERE id = '"
.$_POST['id']."';";

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

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

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

'
;
}
function
show_pages() {
        require
'../inc/connect.php';
        echo
'


  


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


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

  

';
        }
        echo
'

     Номер страницы
  

     '.$row['id'].'
  
';

}

// функция настолько простая, что мне даже и объяснять там нечего. Опять идет обычный html, в котором встречается запрос к БД, в котором мы просим вывести все наши записи отсортировав их по id. Соответственно, каждый полученный из базы id мы выводим ссылкой, чтобы в него можно было зайти. Короче, ща запустим и будет все понятно ;-)

if($_POST['edit']) complete(); // если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_GET['id']) show_form(); // если мы нажали на ссылку в функции show_pages(), то значит мы передали в переменную $_GET['id'] тот самый id, который нас интересует. Поэтому в этом слчае вызываем форму редактирования нашей странички.
else show_pages(); // ну, а если мы не выбрали определенный id - запускаем нашу функцию выбора id.
?>
Категория: Цикл статей CMS своими руками | Добавил: admin (15.04.2008)
Просмотров: 8090 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 Tokstasia  
0
Скажу отцу, чтоб впредь предохранялся… Безопасный секс тот, который не приводит к женитьбе. Лучше плохо, чем никогда. Что ж это за пьянка, если на следующий день не стыдно!

[url=http://www.tips2sports.com]прогноз спорт
[/url]

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