Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Движок для сайта, Пишем с нуля 
:(
    Опции темы
Всемогущий
Дата 4.5.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



ругань связана с тем что mysql ничего не вернула.

попробуй какой нибудь простой запрос и кинь весь получившийся html  в приват
потом отредактирую сообщение

Добавлено через 2 минуты и 29 секунд
совсем забыл
подправим слегка
Код

  function universaltable($result,$how=3){
         if(!is_object ($result))return false;
         $mmm=mysql_num_rows ($result);
         if($mmm<1)return false;
         $max=ceil($mmm/$how)*$how;
         echo '<table width="100%" border="1" cellpadding="0" cellspacing="0" > ';
         for($i = 1; $i <= $max; $i++) {
         if(($dd%$how)==0) echo '<tr>'."\r\n";
         if(is_array($row = mysql_fetch_assoc($result))){
         echo myrow($row);}else echo myrow(false);
         if((($dd-($how-1))%$how)==0)echo'</tr>'."\r\n";$dd++;}
         echo'</table>';
}



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Alexey007
Дата 4.5.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Всемогущийтак в каких форматах мне хранить все файлы?
PM MAIL   Вверх
mishaSL
Дата 4.5.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Alexey007, даже не знаю с чего начать... начну с начала:

1. Мой совет по поводу этапности написания. Не надо начинать писать модули пока вы не определились окончательно с файловой структурой вашей CMS. Также было бы не плохо продумать структуру БД, тех таблиц которые не относятся к определенным модулям. 
Далее определиться какие системные классы (классы для работоспособности всей CMS) вам необходимы, к примеру класс для работы с БД, шаблонизатор (его вы уже упоменали) и т.д. Далее написать эти классы (и при этом хорошенько продумать их функции, а также удобство работы с этими классами). Если на данном этапе проблематично написание таких классов, то подобрать готовые и удобные для вас.
Дальше было бы логично начать с написания системы управления сайтом ("Админ-центр"). А потом уже пользовательскую часть.

2. По поводу конфига, на самом деле удобнее хранить конфиг в ассоциативном массиве. Но каждый делает как ему удобнее. Вы спрашивали что это:
Код

$config['db']['host'] = 'localhost';
$config['db']['user'] = '';
$config['db']['name_db'] = '';
$config['site']['path'] = '';
$config['site']['url'] = '';
// и т.д.

замечу что скорее всего вам понадобится адрес сайта, т.е. http://www.site.com

3. По поводу защиты файлов я до конца не понял, что вы конкретно имеете ввиду. Но скажу что я думаю по этому поводу: первое, насколько я понимаю все файлы будут подгружаться через index.php, тогда вполне будет достаточно определение константы, со следующей проверкой во всех файлах(то что вы предложили). Второе, правильно проставление прав доступа на файлы.

Дальше просто не по порядку замечания:

Цитата(Alexey007 @  2.5.2007,  16:02 Найти цитируемый пост)
а global ничего не портит в безопасности?

Использование global нежелательно.
Цитата(Alexey007 @  2.5.2007,  21:50 Найти цитируемый пост)
Простите за такую настойчивость, но как быть, если мне {PAGE} надо заменить фнукцией??

функция должна возвращать значение и ничего не выводить, и это значение подставляем вместо {PAGE}
Цитата(Alexey007)
Ко всему нужно делать проверку:Если в файле нет таких тегов, то направлять в СОВЕРШЕННО другой шаблон

Логика абсолютно непонятна.
Цитата(Alexey007)
скажи пожалуйста, а если создать "шаблон" средствами замены str_replace, т.е. вручную записать все замены {****}, от этого производительность не изменится?

Если я правильно понял о чем вы, то НЕТ.


Также было бы неплохо сразу продумать будете ли вы использовать ЧПУ, продумать структуру предполагаемых модулей.
Это то что пераое пришло на ум smile  

P.S. Также можете почитать эти темы:
http://forum.vingrad.ru/act-Search/CODE/sh.../cms/index.html


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Alexey007
Дата 4.5.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



mishaSL
Цитата(mishaSL @  4.5.2007,  19:54 Найти цитируемый пост)
замечу что скорее всего вам понадобится адрес сайта

Возможно, но в каких целях?

Цитата(mishaSL @  4.5.2007,  19:54 Найти цитируемый пост)
Использование global нежелательно.

это я понял, вот и спрашивал как поправитьsmile ну по идее ещё придумаю, может идея есть какая-нить?


Цитата(mishaSL @  4.5.2007,  19:54 Найти цитируемый пост)
функция должна возвращать значение и ничего не выводить, и это значение подставляем вместо {PAGE}

уже разобрались все вместе smile 


Цитата(mishaSL @  4.5.2007,  19:54 Найти цитируемый пост)
Логика абсолютно непонятна.

Ну например, если тегов таких нет, то при выводе страницы, например, автоматически "приставлять" эти теги. Но НЕ изменять при этом файл.

Цитата(mishaSL @  4.5.2007,  19:54 Найти цитируемый пост)
Если я правильно понял о чем вы, то НЕТ.

Тогда наверно использовать регулярки?

Вроде все ответил...
А по поводу начать с админки, я не знаю как будет что устроено, что именно можно будет изменять\удалять
PM MAIL   Вверх
Alexey007
Дата 8.5.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Шаблонный класс(отдельная функция и её проверка)
Помогите пожалуйста, знающие людиsmile
Проблема с реализацией:
Код

function get_templates_by_name($name){
       $i=0;
       $temp = '\''.implode("','",$name).'\'';
       $sql = 'SELECT * FROM `templates` where `name` IN ('.$temp.')';
       $result = mysql_query($sql) or die(mysql_error()) ;
       while ($line[$name[($i++)]] = mysql_fetch_assoc($result)) { }
   return $line;
       }
       $need=array('index', 'news_short');
       $bbb=get_templates_by_name($need) ;
       echo   $bbb['index'];

Таблица шаблонов:
Код

CREATE TABLE `templates` (
  `id` bigint(20) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL default '',
  `template` text NOT NULL,
  PRIMARY KEY  (`id`)
);
INSERT INTO `templates` VALUES (1, 'index', 'ШАБЛОН');


А выводит ошибку:
Notice: Undefined offset: 2 in Z:\home\localhost\www\site\engine\modules\news.php on line 6
Array

Это сообщение отредактировал(а) Alexey007 - 2.2.2011, 19:25
PM MAIL   Вверх
-=Ustas=-
Дата 8.5.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Код

$line = array();
while ($row = mysql_fetch_assoc($result)) { $line[$name[($i++)]] = $row; }



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Alexey007
Дата 8.5.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



-=Ustas=-, спасибо, ошибка убралась, но вот только теперь он вы водит Array
А должен шаблон(т.е. содержимое таблицы)
PM MAIL   Вверх
Alexey007
Дата 8.5.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



Вот решение (Всемогущий конешно помог)

Код

  function get_templates_by_name($name){
    $temp = '\''.implode("','",$name).'\'';
    $sql = 'select name, template from `templates` where   `name` IN ('.$temp.')';
    $result = mysql_query($sql) or die(mysql_error()) ;
    while ($dtemp=mysql_fetch_assoc($result)) {
        $gotovo[$dtemp['name']]=$dtemp['template'];
    }
    return   $gotovo ;
   }
  $need = array('index', 'news_short', 'block');
  $bbb = get_templates_by_name($need) ;
  echo $bbb['news_short'];
 
PM MAIL   Вверх
-=Ustas=-
Дата 9.5.2007, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Alexey007,  http://php.net/array

Добавлено через 2 минуты и 55 секунд
Точнее http://ru2.php.net/manual/en/language.types.array.php


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Alexey007
Дата 9.5.2007, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.3.2007

Репутация: 1
Всего: 1



-=Ustas=-, спасибоsmile пригодится, думаю, в процессе smile  smile 
PM MAIL   Вверх
v_enom
Дата 18.10.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



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

Пожалуйста, напишите из чего состоит дивжок(самый простой) как работает, что от куда должен брать и с чем взамиодействовать.
В инете искал тему - не нашел, там одним готовые CMS

PM MAIL   Вверх
SergV
Дата 17.1.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 4.8.2006
Где: Германия

Репутация: нет
Всего: 1



Цитата

Пожалуйста, напишите из чего состоит дивжок(самый простой) как работает, что от куда должен брать и с чем взамиодействовать.
В инете искал тему - не нашел, там одним готовые CMS

Это всё зависит от потребностей. Это может быть типа хтмл сайта с пхп или яваскрипт вставками к примеру для организации определённых форм, или ещё что. Или иметь один index.php, а всё что выводится формируется в нём через пхп скрипты связанные с базой данных, или если без базы данных, то с текстовыми файлам где лежит необходимый контент. Плюс это авторизация пользователей, плюс админка для управления сайтом, плюс что угодно.
Если хочешь узнать подробней, просто посмотри различные CMS в работе и их внутренности.
PM   Вверх
bash
Дата 19.2.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Цитата
Пожалуйста, напишите из чего состоит дивжок(самый простой) как работает, что от куда должен брать и с чем взамиодействовать.
В инете искал тему - не нашел, там одним готовые CMS



Пройди по этой ссылке:
http://www.nulled.ws/showthread.php?t=39068

Скачав этот курс и просмотрев его сразу отпадут все вопросы, поймёш что с чем взаимодействует, откуда берётся и счего начать...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1345 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.