EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Пишу CMS, нужна помощь!
На страницу 1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Пишу CMS, нужна помощь!
Автор Сообщение
x-tor
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 19.05.2007
Сообщения: 198
Откуда: Samara
4495 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 12:56    Заголовок сообщения: Пишу CMS, нужна помощь! Ответить с цитатой

Пишу CMS на PHP + MySQL, есть несколько моментов, которые нужно решить...

Как сделать разделы с альтернативной ссылкой?

Я создал базы данных вида:

Код:

CREATE TABLE `razdel` (
  `id` int(11) NOT NULL default '0',
  `name` varchar(255) default NULL,
  `title` text,
  `description` text,
  `keywords` text,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;


и

Код:

CREATE TABLE `podrazdel` (
  `id` int(11) NOT NULL,
  `razdel_id` int(11) NOT NULL,
  `name` varchar(255) default NULL,
  `title` text,
  `description` text,
  `keywords` text
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;


Сделал формы и т.д. теперь нужно сделать скрипты добавления, редактирования и удаления разделов и подразделов.
_________________
RAPCorp.ru - Независимый рэп лейбл
Muzona НЕТ - Есть качественная музыка!
Кошкидома.ру - сайт о кошках
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:09    Заголовок сообщения: Ответить с цитатой

На самом деле это далеко не несколько моментов Smile

Ну, а если серьезно в чем проблемо то?
Присоздании "раздела" добавляешь запись в табличу razdel, а при создании "подраздела" в таблицу podrazdel.

Только при создании под раздела надо добавлять id раздела к которому он принадлежит.
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
x-tor
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 19.05.2007
Сообщения: 198
Откуда: Samara
4495 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:11    Заголовок сообщения: Ответить с цитатой

А как должен выглядеть запрос к базе?
_________________
RAPCorp.ru - Независимый рэп лейбл
Muzona НЕТ - Есть качественная музыка!
Кошкидома.ру - сайт о кошках
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:18    Заголовок сообщения: Ответить с цитатой

В общем вот теория:

1. Создание радела
тут все элементарно, у тебя есть форма на которой input типа text, в которые ты вводишь данные по создаваемому разделу.
далее следует insert запрос:

Код:
INSERT INTO `razdel` SET `name`='$name', `title`='$title', `description`='$description', `keywords`='$keywords'


2. Создание под раздела
тут тоже все просто, только в форму надо дабавить select c перечнем уже созданых групп.

и выполнить insert только уже к другой таблице:
Код:
INSERT INTO `podrazdel` SET `razdel_id`='$razdel_id', `name`='$name', `title`='$title', `description`='$description', `keywords`='$keywords'


P.S.: Запросы проверь, т.к. по помяти писал, возможно ошибся с синтаксисом.
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:19    Заголовок сообщения: Ответить с цитатой

Не понимаю Smile Пишем CMS, но не знаем синтаксиса MySQL-запроса INSERT?.. Ппц...
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:30    Заголовок сообщения: Ответить с цитатой

ну ни пипец конешно. Smile но ему еще со многим столкнуться придется Smile
я думаю даже тут проблема не в том что он синтаксис не знает, а в том что вообще мало представляет что пишет!
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
x-tor
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 19.05.2007
Сообщения: 198
Откуда: Samara
4495 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:33    Заголовок сообщения: Ответить с цитатой

Тоесть должно быть так?

Код:

<?

      $sql = "INSERT INTO `razdel` SET `name`='$name', `title`='$title', `description`='$description', `keywords`='$keywords'"; // формируем sql запрос
      mysql_query($sql);
      
?>
<form name="form1" action="/" method="post" ENCTYPE="multipart/form-data">
<table style="margin:0px;" border="0" align="center" width="100%" cellspacing="0" cellpadding="0" class="feedback">
   <tr>
      <td colspan="2"><b>Добавление разделов:</b></td>
   </tr>
   <tr>
      <td width="166">Название:</td>
      <td width="234">
         <input style="width:100%" type="text" name="title" value="" size="0" />
      </td>
   </tr>
   <tr>
      <td>Описание:</td>
      <td>
         <input style="width:100%" type="text" name="description" value="" size="0" />
      </td>
   </tr>
   <tr>
      <td>Ключевые слова:</td>
      <td>
         <input style="width:100%" type="text" name="keywords" value="" size="0" />
      </td>
   </tr>
   <tr>
      <td>Выбор типа страницы:</td>
      <td>
         <input type="radio" name="insert" value="1"> Статическая страница
         <input type="radio" name="insert" value="2"> Подключаемый модуль
      </td>
   </tr>
   <tr>
      <td>Альтернативная ссылка:</td>
      <td>
      <input style="width:100%" type="text" name="name" value="" size="0" />
      </td>
   </tr>
   <tr>
      <td align="center" colspan="2" style="padding-bottom: 10px;">
         <input onclick="return testData()" type="submit" name="Submit" value="Добавить" class="input_submit" />
      </td>
   </tr>
</table>
</form>

_________________
RAPCorp.ru - Независимый рэп лейбл
Muzona НЕТ - Есть качественная музыка!
Кошкидома.ру - сайт о кошках
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:37    Заголовок сообщения: Ответить с цитатой

почти, в этом варианте у тебя как только страница будет открываться, будет новая пустая запись добавляться... тебе же данные нужны Smile вот их надо получить из $_POST, а затем что то типа этого:



Код:
<?
      if (($name!='') and ($title!=''0) and ...)
      {
         $sql = "INSERT INTO `razdel`...... и т.д
         mysql_query($sql);
      }
       
?>

_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:39    Заголовок сообщения: Ответить с цитатой

Михаил Сорокин
не тратьте время попусту, ничего толкового так не пишется... ТС - зайти в доки по PHP & MySQL и читать.
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
11 1110 1000
11 1110 1000


Зарегистрирован: 24.11.2007
Сообщения: 1136
Откуда: Новосибирск
26695 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:45    Заголовок сообщения: Ответить с цитатой

x-tor
1) Юзайте шаблонизаторы. Иначе это не полноценная цмс, даже близко.
2) Если это вы показали весь код страницы, то у вас скрипт требует дырявый (sql иньекция и, скорее всего, XSS).
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:48    Заголовок сообщения: Ответить с цитатой

Alek$ писал(а):
1) Юзайте шаблонизаторы. Иначе это не полноценная цмс, даже близко.

как можно вообще говорить о полноценности CMS по шаблонизатору?

Alek$ писал(а):
2) Если это вы показали весь код страницы, то у вас скрипт требует дырявый (sql иньекция и, скорее всего, XSS).

на счет этого трудно не согласиться, хотя для его админки это не страшно, она либо для своего использования, либо для каких то имых целей, но ни как не в массы. А сам себе sql-inj делать, эт надо извращенцем быть
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
x-tor
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 19.05.2007
Сообщения: 198
Откуда: Samara
4495 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:50    Заголовок сообщения: Ответить с цитатой

А как сделать, чтобы ссылка имела вид примерно такой:

/admin/index.php?razdel=add

а файлы распологались в папке /admin/modules/razdel/add.php

и ещё вот index.php файл

Код:

<?php

// Соединяемся с базой данных
require_once("../inc/config/db.php");
require_once("../inc/config/config.php");
include('func/wysiwyg.php');
               
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title><?=$title_admin ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="/admin/inc/css/style.css" rel="stylesheet" type="text/css">
<link href="/admin/inc/css/main.css" rel="stylesheet" type="text/css">
<!-- TinyMCE -->
<script type="text/javascript" src="../func/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
   tinyMCE.init({
      mode : "textareas",
      theme : "simple"
   });
</script>
<!-- /TinyMCE -->
</head>

<body>
<? include('inc/header.inc.php'); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
   <tr>
      <td width="25%" class="zag" valign="top">
      <? include('inc/navigation.inc.php'); ?>
      </td>
      <td class="bg_adm_center" width="1%"></td>
      <td width="74%" class="zag" valign="top">
      <div class="content">
      <div style="padding: 10px;">
      <? include('inc/content.inc.php'); ?>
      </div>
      </div>
      </td>
   </tr>
</table>
<? include('inc/footer.inc.php'); ?>
</body>
</html>

_________________
RAPCorp.ru - Независимый рэп лейбл
Muzona НЕТ - Есть качественная музыка!
Кошкидома.ру - сайт о кошках
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:53    Заголовок сообщения: Ответить с цитатой

x-tor
выучить PHP.
2All, призываю всех дать человеку самому чему-то научиться... имеем второго Amethyst, однако...
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:56    Заголовок сообщения: Ответить с цитатой

x-tor писал(а):
/admin/index.php?razdel=add
а файлы распологались в папке /admin/modules/razdel/add.php

обычно, как правило Smile, люди делают на оборот Smile эт ЧПУ называется, а то что ты хочешь, эт в прямом смысле извращение...

это врятли можно сделать
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Михаил Сорокин
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 15.09.2008
Сообщения: 28
Откуда: Самара
815 Монеты

СообщениеДобавлено: Ср, 17 Сен, 2008 13:56    Заголовок сообщения: Ответить с цитатой

[LP]LordPro.teus писал(а):
x-tor
выучить PHP.
2All, призываю всех дать человеку самому чему-то научиться... имеем второго Amethyst, однако...


после этих слов.... Smile
_________________
Все могут попасть в рай, самое главное во время подчистить логи (с) r57
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
На страницу 1, 2, 3  След.
Страница 1 из 3

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET