Код админки на 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':
<?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="<?=htmlspecialchars(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="<?=htmlspecialchars(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="<?=htmlspecialchars(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="<?=htmlspecialchars(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">
                <?// "<?=" тоже самое, что и "<? echo", т.е. вывод на экран, что выводим объясню позже ;-) ?>
                <?=stripslashes($row['body']);?>
      </textarea>
  </td>
</tr>
<tr>
  <td bgcolor="#1F2760" align="right">
      <input type="hidden" name="id" value="<?=$_GET['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 '<h3>Данные обновлены</h3>';
}
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
'
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
  <td>
     <a href="?id=new">Добавить страницу</a>
  </td>
</tr>
</table>'
;
        echo
'
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
  <td colspan="2">
     <b>Название страницы</b>
  </td>
</tr>'
;
        
$result = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
        while(
$row = mysql_fetch_array($result)){
               echo
'
<tr bgcolor="#ffffff">
  <td>
     <a href="?id='
.$row['id'].'">'.stripslashes($row['title']).'</a>
  </td>
  <td>
     <a href="#" OnClick="Delete('
.$row['id'].')">удалить</a>
  </td>
</tr>'
;
        
// добавили ячейку с ссылкой на удаление и не забыли вставить colspan="2" у заглавной ячейки
         // думаю вы заметили, что в тексте ссылки мы заменили $row{'id'] на $row['title'] и добавили обработку функцией stripslashes()
        
}
        echo
'
</table>'
;

}
function
delete_pages(){
        require
'../inc/connect.php';
        
$query = "DELETE FROM pages WHERE id = '".$_GET['del']."';";
        
mysql_query($query, $link);
        echo
'<h3>Данные удалены</h3>';
}
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><?=$row['metatitle'];?></title>
  <META NAME="description" CONTENT="<?=htmlspecialchars(stripslashes($row['metadescription']));?>">
  <META NAME="keywords" CONTENT="<?=htmlspecialchars(stripslashes($row['metakeywords']));?>">
</head>
<body>
<?
// меню из БД
echo 'Наше меню: ';
        
$resultMenu = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
        
$rowMenu = mysql_fetch_array($resultMenu); // выведем первый пункт меню без точечки
        
echo '<a href="?id='.$rowMenu['id'].'">['.stripslashes($rowMenu['title']).']</a>';
        while(
$rowMenu = mysql_fetch_array($resultMenu)){
               echo
' &middot; <a href="?id='.$rowMenu['id'].'">['.stripslashes($rowMenu['title']).']</a>';
        }
?>
<!-- либо делаем меню ручками, по принципу: -->
<a href="?id=1">первая страница</a>
<a href="?id=2">вторая страница</a>
<a href="?id=3">контакты</a><br /><br />
<?//stripslashes() - Удаляет экранирование символов - а их мы понаставили в админке, когда загружали данные в базу с помощью функции mysql_real_escape_string()?>
<?=stripslashes($row['body']);?>
</body>
</html>
« Удаление страничекБонус - устанавливаем TinyMCE »


Ниже Вы можете пофлудить - можете спросить, обругать, похвалить и т.д.

Добавление комментариев отключено


21.12.2012   Жека

Подскажите в чём дело?
Notice: Undefined index: del in /var/www/spec/data/www/gsk.spec.ru/adm/index.php on line 173 Notice: Undefined index: edit in /var/www/spec/data/www/gsk.spec.ru/adm/index.php on line 174



17.07.2012   Nataly

Спасибо, скрипт помог очень очень!



16.05.2012   Алексей

У меня при нажатии не выводит текст новости, хотя все точь в точь как тут, но только html свой.

<?
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>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Samar</title>
<META NAME="description" CONTENT="<?=htmlspecialchars(stripslashes($row['metadescription']));?>">
<META NAME="keywords" CONTENT="<?=htmlspecialchars(stripslashes($row['metakeywords']));?>">
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>

<body>


<div id="bg">

<div id="main">
<!-- header begins -->
<div id="header">
<div id="logo">

</div>
<div id="menu">
<a href="index.html" class="home" title=""></a>
<a href="blog.html" class="sites" title=""></a>
<a href="gallery.html" class="anime" title=""></a>
<a href="about_us.html" class="manga" title=""></a>
</div>
</div>
<!-- header ends -->


<!-- content begins -->
<div id="content_top"></div>
<div id="content">

<h1>Welcome To Metamorphosis Design</h1>
<img src="images/img11.jpg" class="img_l" alt="" />
<span class="span_cont">Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span><br />
<div class="col1">
<?
// меню из БД
echo 'Наше меню: ';
$resultMenu = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
$rowMenu = mysql_fetch_array($resultMenu); // выведем первый пункт меню без точечки
echo '<a href="?id='.$rowMenu['id'].'">['.stripslashes($rowMenu['title']).']</a>';
while($rowMenu = mysql_fetch_array($resultMenu)){
echo ' &middot; <a href="?id='.$rowMenu['id'].'">['.stripslashes($rowMenu['title']).']</a>';
}
?></div>
<div class="read_r"><a href="#">more</a></div><br />
<div class="razd_g"></div><br />

<div class="col">
<h1>Nunc tempus</h1>
<img src="images/col_img1.jpg" class="img_l" alt="" />Nunc tempus libero dictum lectus pharetra pretium. Ut eu massa vitae magna porta suada et ultrices vitae, commodo in velit. Etiam luctus rhoncus arcu, ac euismod leo feugiat vel. Morbi commodo nulla quis augue
<div class="read_r"><a href="#">more</a></div>

</div>
<div class="col_razd"></div>
<div class="col">
<h1 class="tit">Etiam luctus</h1>
<img src="images/col_img2.jpg" class="img_l" alt="" />Etiam luctus rhoncus arcu, ac euismod leo feugiat vel. Morbi commodo nulla quis augue cus viverra. Nunc tempus justo non nibh auctor vehicula tempor tellus ullamcorper. Morbi vitae consequat velit.
<div class="read_r"><a href="#">more</a></div>
</div>
<div class="col_razd"></div>
<div class="col">
<h1 class="tit">Suspendisse quis</h1>
<img src="images/col_img3.jpg" class="img_l" alt="" />Suspendisse quis ipsum a metus mattis pretium vitae et nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur urna odio, dapibus at mattis et,
<div class="read_r"><a href="#">more</a></div>

</div>
<div style="clear: both"></div>
<div style="height:15px; width: 100%"></div>
<div class="razd_g"></div>

<div style="clear: both"></div>

</div>
<div id="content_bot"></div>
<!-- content ends -->
<div style="height:15px; width: 100%"></div>
<!-- bottom begin -->
<div id="content_top"></div>
<div id="bottom">
<div id="b_col1">
<h1>About Us</h1>
<div style="height:5px; width: 100%"></div>
<img src="images/bottom_i1.jpg" alt="" /><div style="height:5px"></div>
Proin adipiscing fringilla nibh id hendrerit. Duis accumsan, arcu ac porta sus
<div class="more"><a href="#">more <img src="images/fish_more.gif" alt="" /></a>&nbsp;&nbsp;</div>
</div>
<div id="b_col2">
<h1>Services</h1>
<ul>
<li><a href="#">Morbi mollis purus</a></li>
<li><a href="#">Duis venenatis</a></li>
<li><a href="#">Suspendisse non turpis</a></li>
<li><a href="#">Nullam quis purus</a></li>
<li><a href="#">Proin eget dui eu</a></li>
<li><a href="#">Ut quis ornare</a></li>
<li><a href="#">Vestibulum augue purus</a></li>
<li><a href="#">RSS Subscribe</a></li>
</ul>
</div>
<div id="b_col3">
<h1>Follow Us</h1>
<ul>
<li><img src="images/fu_i1.gif" class=" fu_i" alt="" /><a href="#">Lorem ipsum dolor</a></li>
<li><img src="images/fu_i2.gif" class=" fu_i" alt="" /><a href="#">Maecenas in turpis </a></li>
<li><img src="images/fu_i3.gif" class=" fu_i" alt="" /><a href="#">Morbi fringilla libero</a></li>
<li><img src="images/fu_i4.gif" class=" fu_i" alt="" /><a href="#">In venenatis metus vel </a></li>
</ul>
</div>
<div id="b_col4">
<h1>Контакты</h1>
<b>ICQ:</b> 434-282-377<br />
<b>E-mail:</b> samarnevil@gmail.com

</div>
<div style="clear: both; height:1px;"></div>
</div>
<div id="content_bot"></div>


<div id="footer">
<p>Создан учеником 11 класса Титеваловым Алексеем в 2012 году.</p><!-- end of copyright notice-->
</div>

</div>

</div>


<?//stripslashes() - Удаляет экранирование символов - а их мы понаставили в админке, когда загружали данные в базу с помощью функции mysql_real_escape_string()?>
<?=stripslashes($row['body']);?>
</body>
</html>



10.04.2012   User

Доброго времени суток!
ОГРОМНОЕ ВАМ СПАСИБО ЗА ДАННЫЙ САЙТ - ВСЕ ПОНЯТНО И ДОСТУПНО... Вот только один вопрос:
немного переделал код и он перестал работать - функция удаления в отдельном файле... подскажите где я допустил ошибку:

<?function show_pages() { ?>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function Delete(N)
{if(confirm("Удалить?"))
{ parent.location='?del='+N; }
else {return false;} }
-->
</SCRIPT>

<?php require './blocks/db.php';
$menu = htmlspecialchars(stripslashes($_GET['menu']));
switch ($_GET['menu']){
case 'drn_menu':
$table='object';
break;
case 'df_menu':
$table='flag'; // выбираем таблицу для роботы
break;
case 'dg_menu':
$table='gerb';
break;}
echo ' <div id=edit >
<table cellspacing="1" cellpadding="2">
<tr >
<td width = 100>
<b>Район</b>
</td>
<td>
<b>Страница</b>
</td>

</tr>';
$result = mysql_query("SELECT * FROM `$table` WHERE `rn` = '".$_GET['rn']."' ORDER BY `title`;", $link);
while($row = mysql_fetch_array($result)or die(mysql_error())){
echo '
<tr >
<td> <p>'.$row['rn'].'</p> </td>
<td> <p>'.$row['title'].'</p> </td>
<td> ';
echo'<a href="" OnClick="Delete('.$row['title'].')">Видалити</a> ';
' </td>
</tr>'; }
echo '
</table></div>';

}
function delete_pages(){
require './blocks/db.php';
$query = "DELETE FROM $table WHERE title = '".$row['title']."';";
mysql_query($query, $link);
echo '<h3>Данные удалены</h3>';
}
?><?php
if($_GET['del']) delete_pages();
if($_GET['rn']) show_pages();
?>


10.04.2012   Александр

Удаляйте не по $row['title'] а по чему-нить числовому. У меня это id.


11.04.2012   User

Понял ошибку, спасибо, скрипт заработал... но у меня проблема с алгоритмом еще нарисовалась... буду дальше разбирать.



04.02.2012   михаил

у меня вот такая проблема:
говорит что del,edit, id-неизвестные идентификаторы

а еще тоже самое говорит про мои поля в мой базе, в функции complete(), но на id в этой функции не ругается...



21.01.2012   NoName

Все ясно и ровно объясняется, особенно для чайников. Умников просьба не умничать, здесь рукопись а не рассмотрение готовых движков!!! Автору 5+ молоток!!!

Спасибо ;-)


05.10.2011   Дмитрий

Параметр $_POST['id'] вставляется в SQL запросы без экранирования, это прямой путь к sql инъекции.


05.10.2011   Александр

$_POST['id'] вставляется в админке в запароленной директории. Если Вы сами будете себе инъекции запускать, то нет вопросов. На общий доступ выложен файл index.php и там есть запрос с $_GET['id'], можете его экранировать, если Ваш сервер не делает это самостоятельно. Из всех предложенных решений мне больше всего симпатично преобразование $_GET['id'] в целое, т.е. intval($_GET['id'])



23.08.2011   Санек

думаю не помешала бы кнопочка возврата на главный страничку или автоматическая переадресация, т.к. после добавления страницы или сообщения Данные обновлены, это окно и остается и приходится, либо ручками стирать в адресной строке лишнее, либо листать назад по страничкам, неудобно.


10.04.2012   User

Я сделал "кнопочку" так:
echo '<div id=exit><a href="index.php" >На главную</a></div><br>';



21.07.2011   Дмитрий

Дыряво очень!!!


05.08.2011   сергей

Дайте подтверждение.
Покажите где дырки.



27.05.2011   незнайка

Возникла ещё маленькая сложность: при отправке данных в БД, сохраняются иероглифы :(
сложность в том, что используется не только кирилица, но ещё и румынские символы :(


27.05.2011   Александр

Попробуйте в коннекте после выбора базы данных выставить кодировку:
mysql_query('SET NAMES utf8');

А потом нам не забудьте рассказать, помогло или нет ;-)


30.05.2011   незнайка

ух... сколько сложностей возникает за кем-то всё редактировать и доделывать :(
пока не разобрался ещё, пытаюсь



26.05.2011   незнайка

усё, разобрался)
не записал просто парочку ячеек в коде)
теперь работает)


26.05.2011   Александр

быстро ))



03.01.2011   незнайка

"Код файла админки" - я его уже загрузил на сервер, там нету ошибок, но я не могу редактировать и добавлять новые записи... только удалять


21.05.2011   serdj

Скорее всего, после того как вы переименовали файл, вы переименовывали ещё чтото, и в следствии этого, допустилили ошибку, смотрите функции:
function show_form() и function complete()в какойто из них есть не соответсвие имён.



22.12.2010   незнайка

Выбивает вот такие ошибки, но работает вроде всё корректно (на вашем коде и с вашей БД):
<br>&lt;br&gt;Notice: Undefined index: del in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 153
<br>&lt;br&gt;
<br>&lt;br&gt;Notice: Undefined index: edit in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 154
<br>&lt;br&gt;
<br>&lt;br&gt;Notice: Undefined index: id in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 155
<br>&lt;br&gt;
<br>&lt;br&gt;
<br>&lt;br&gt;но вот как только меняю на свою БД и меняю соответственно скрипт, то кроме как удаления ничего не работает, хот всё заходит, отображает, как только редактирую, всё возвращается обратно... в чём лажа?


01.01.2011   serdj

А о каком файле ведётся речь?
Что он должен делать?[code]<br>&lt;br&gt;Notice: Undefined index: del in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 153
<br>&lt;br&gt;
<br>&lt;br&gt;Notice: Undefined index: edit in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 154
<br>&lt;br&gt;
<br>&lt;br&gt;Notice: Undefined index: id in C:\\\\Documents and Settings\\\\Admin\\\\Desktop\\\\UsbWebserver\\\\UsbWebserver\\\\Root\\\\t\\\\t2.php on line 155[/code]



22.07.2010   Владимир

Много интересного, буду постоянным читателем.



06.06.2010   Геннадий

И так пробуем, что из этого выйдет. Думаю получится.



04.04.2010   3d quattro

Спасибо большое,очень хорошие статьи(все),но у меня возникла проблема,непонятно,соединение с mysql работает,но когда захожу на сайт(index.php) - чистый лист....Хосстинг - byethost.com



21.01.2010   Mr Proper

ну и говно Ваша статья, так делать никогда не стоит, через полгода необходимо будет заново весь код перебирать, чтобы понять. что тут происходит. Разделили бы хотя бы на разные файлы и модули



03.11.2009   N ur

Да правда очень хорошая сайт для обучение PHP и Mysql



14.06.2009   serdj

Снова пишет serdj и опять с вопросом к мастеру.
<br>&lt;br&gt;Просматривал предыдущие посты гостевой вашего сайта, и там мне встречался вопрос ответ на счёйт файла .htaccess.
<br>&lt;br&gt;Не могли бы вы о нём поподробнее, тоесть, зачем скрывать подленный адрес?
<br>&lt;br&gt;И ещё, вот к примеру у нас есть такой файл .htaccess RewriteEngine on
<br>&lt;br&gt;RewriteRule ^.htaccess$ - [F]
<br>&lt;br&gt;RewriteRule ^goto/$ goto/index.php
<br>&lt;br&gt;RewriteRule ^(.*).htm$ index.php
<br>&lt;br&gt;RewriteRule ^(.*)/$ index.php
<br>&lt;br&gt;Как он будет выглядеть после применения вашего описания?



11.06.2009   UHBUJHBQ2

/adm/index.php могут зайти все, тоесть у меня пароль не спарашивает заходи кто хочит! www.php-adminka.ru//adm/index.php а вот у вас лог и пароль! как также зделать?



11.06.2009   UHBUJHBQ2

Блин во я тупанул то! Редактировать то можно!



11.06.2009   UHBUJHBQ1

Вопрос!! что было понятно! Данная админ часть позволяет только дабовлять страницы и удалять! А редактировать? Или только добавлять и удалять?



11.06.2009   UHBUJHBQ

Вопрос!! что бы ло понятно! Данная админ часть позволяет только дабовлять страницы и удалять! А редактировать? Или только добавлять и удолять?



02.06.2009   Стр

Здраствуйте..сразу скажу спасибо за сайт) очень помогаете))большое спс))
<br>&lt;br&gt;У меня вопрос такого содержания..сделал всё как в вашем руководстве...в результате не выводится список статей..то есть сама таблица есть..кнопочка удалить рядом с предполагаем названием тоже есть..а вот названия.и ссылку на саму созданную страницу нет...не подскажите что делать?



01.06.2009   serdj

Ответ мастеру.
<br>Попробовал, спасибо за подсказку.
<br>Теперь работает нормально.



01.06.2009   serdj

Вопрос мастеру.
Пробовал устанавливать в DENVERE Скрипт работал нормально. После загрузки на хостинг чтото сломалось.
Когда добавляю страницу и пишу текст на русском то врезультате вместо букв выходят вопроситьельные знаки.
При добавлении текста на английском всё нормально.
Подскажите пожалуйста, где может быть не стыковка.
АДМИН БАЗЫ СРАВНИВАЛ, КОДИРОВКА ОДИНАКОВА.

Попробуйте в коннекте в конце прописать:
mysql_query
("SET NAMES cp1251");


25.05.2009   Олег

Мда, мне бы такие курсачи)))))) По коду - абсолютно неудобный, раздутый и кривой пример...Админка пишется намного проще...



21.04.2009   Протестующий

*бред студента недоучки, кривой и ресурсоемкий код, вам уважаемый не "статьи" писать а учиться, учиться и еще раз учиться.

Напиши лучше, а потом вякай



27.03.2009   tester

отличный код 5+



11.03.2009   Димон

Вот такие строчки вылазят при запуске php-страницы Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\localhost\www\phpsite1\Index.php on line 3

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\phpsite1\Index.php on line 4

Как это исправить?



15.12.2008   Уставший

бред студента недоучки, кривой и ресурсоемкий код, вам уважаемый не "статьи" писать а учиться, учиться и еще раз учиться.



05.09.2008   Светик

Спасибо огромное, я этим занимаюсь и занималась на 4 курсе ща на 5 курсе мне очень это надо было спасибо огромное))) тока вот скажите у мя админка как ее можно спрятать, чтобы она не была на странице?



14.06.2008   Саша

Хороший сайт, поизучаю обязательно, расширяться будете? новые статьи, например



06.06.2008   Андрей

Помогите решить проблемку, что делать с это строчкой в админке:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\cms_sos.ru.local\www\admin\index.php on line 194

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\cms_sos.ru.local\www\admin\index.php on line 195

Новости не добавляются почему-то, добавлял через phpMyAdmin в соответствующие ячейки, тогда-то всё и отображается! (((



23.05.2008   Санек

А я нашел 40% своего диплома)))



20.05.2008   Андрей

Спасибо за отличный пример.
А вот подскажите, можно ли сделать в админке пункт "выход", чтоб закончить работу в админке. Понятно, что можно просто закрыть браузер, но с "выходом" и попаданием например на страничку ввода пароля, выглядело бы более законченно.



12.02.2008   DaNeK

АдМин ПривеТ! Спасибо большое за сайт! но непойму почему то у меня везде ошибки и админка не работает можт я чёто не то делаю?! если не трудно пришлите пожалуйста готовую эту админку оч нуно! chaplindaniel(собака)mail(точка)(ру)



11.11.2007   Neptun

Выдаёт огромное количество ошибок....

Notice: Undefined index: del in s:\home\site\www\adm\index.php on line 173
[ убрать подсказку | никогда больше не показывать ]

Это предупреждение, вероятнее всего, возникает вследствие высокого уровня контроля ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). Такой режим вывода ошибок является рекомендуемым и сильно помогает при отладке скриптов. Однако множество готовых скриптов требуют более низкого уровня ошибок.

Вы можете установить более слабый контроль ошибок одним из следующих способов:

* Впишите в скрипты строчку:

Error_Reporting(E_ALL & ~E_NOTICE);

Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
* Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания:

php_value error_reporting 7

* Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!

[Денвер: показать возможную причину ошибки]
Notice: Undefined index: edit in s:\home\site\www\adm\index.php on line 174

Notice: Undefined index: id in s:\home\site\www\adm\index.php on line 175

Warning: show_pages(../inc/connect.php) [function.show-pages]: failed to open stream: No such file or directory in s:\home\site\www\adm\index.php on line 133

Fatal error: show_pages() [function.require]: Failed opening required '../inc/connect.php' (include_path='.;/usr/local/php/PEAR') in s:\home\site\www\adm\index.php on line 133

Код точно такой же как и здесь.... просто тупо скопировал и всё. В чём дело?

дело в том, что "просто тупо скопировал и всё"


08.11.2007   Сергей

Подскажите, пожалуйста, как сделать, чтобы в базу данных
загружать изображения через форму, чтобы для каждой страницы выводилось свое изображение

А зачем их грузить в базу данных? Как пример, предлагаю записать их в папку i/pages/ и дайте каждой название по id страницы. Ну, или просто запишите в БД название и путь к файлу


07.11.2007   exebosser

Расскажите про парсинг кода, как это выполнено у вас на сайте, очень интересно будет пользователям, а проект не плохой.



07.11.2007   exebosser

Расписано конечно все хорошо, но есть но.

Подход немного не в то русло, пользователи привыкли видеть ресурс таким:

Чтобы были категории, коментарии.
Я бы посоветовал расписать все глобальнее.

Рассказать про ядро, модули, сделать более моштабней, и если все пойдет как надо вы сможете вупустить свои курсы.. Я думаю это очень пристижно.

Еще бы посоветовал обзавестись форумом, где пользователи могли спрашивать.
А не существующая на данный момент гостевая полная мусора и рекламы.

Сделайте все более серьезней, и люди вас отблагодярят прислушайтесь.

с уважением exebosser



04.11.2007   Томка

Спасибки, код очень пригодился!



25.05.2007   Crazy_burn

Спасибо, очень полезнай сайт...нащел практически свой курсач.




 
  (c) Janda.ru