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

Поиск:

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


Шустрый
*


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

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



Всемогущий, мне не до шуток smile 

По поводу ссылок, спасибо, но у меня же есть чтение из файла. только вот не понимаю что мне надо изменить)

Так как быть с шаблоном(замену верха и низа не хочется smile ), и ещё:

Цитата(Alexey007 @  3.5.2007,  17:45 Найти цитируемый пост)
+ Ко всему нужно делать проверку:Если в файле нет таких тегов, то направлять в СОВЕРШЕННО другой шаблон


Цитата(Alexey007 @  3.5.2007,  14:00 Найти цитируемый пост)
Опосаюсь за безопасность функции Parse, т.к. там идут глобальные переменные. Прошу помочь разобраться


Цитата(Всемогущий @  4.5.2007,  11:58 Найти цитируемый пост)
  покажите мне его   такие повымерли давно  

Так нужно ещё и для удобства!

Цитата(Alexey007 @  3.5.2007,  22:13 Найти цитируемый пост)
Добавлено @ 22:19Всемогущий, скажи пожалуйста, а если создать "шаблон" средствами замены str_replace, т.е. вручную записать все замены {****}, от этого производительность не изменится?


P.S. прошу ответить по возможности на все, что щас написал smile 
Буду ОЧЕНЬ признателен smile 
PM MAIL   Вверх
Всемогущий
Дата 4.5.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Давай поговорим об этом потом,и займёмся реализацией конкретных модулей: это будет гораздо интересней.


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


Шустрый
*


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

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



Всемогущий, предлагаешь заняться структурой?
Дело в том, что я даж не знаю как разбить шаблоны от кода сразу...
В каких форматах лучше хранить все модули? (т.е. все кроме index.php)
Как защитить файл configuration.php от просмотра посторонних глаз.
Как защитить эти файлы ВООБЩЕ от просмотра, без гл. "руководителя" index.php?
Может так?
Код

defined( '_VALID_MOS' ) or die( 'Просмотр невозможен!' );

Это если учесть, что у меня в index.php строчка:
Код

define( '_VALID_MOS', 1 );

Вроде на локалке работаетsmile
Какой комент можно написать к данной фитче?smile
Как определиться мне, менюшки всякие- это модули или это просто includes (в них тоже будут различные функции)

100% модули:
-новости
-отправка сообщения на почту
-Ч.А.В.О.(будет на скороsmile)

Все вроде пока.

Начну делать новости. сразу вопрос, что в модуле должно содержаться?
Впринципе структура новостей:
-подключение к таблице
-замены, сплошные%) (всякие теги типа [b] [u] [i] и т.д.) можно потом правда сделать, когда будем делать в шаблоне...

Это сообщение отредактировал(а) Alexey007 - 4.5.2007, 13:03
PM MAIL   Вверх
Всемогущий
Дата 4.5.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



BBcode

Добавлено через 1 минуту и 49 секунд
Предположим новости создаёт человек со знанием HTML


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


Опытный
**


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

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



Предпочитаю структуру примерно такую:

Код

/index.php
/rss.php
/kernel/config/
/kernel/classes/
/kernel/functions/
/kernel/images/
/kernel/misc/
/kernel/themes


То есть, чтобы в корне не валялась куча файлов, а все было в папке типа kernel, engine и т.п.


--------------------
user posted image
PM   Вверх
Всемогущий
Дата 4.5.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(CyClon @  4.5.2007,  16:43 Найти цитируемый пост)
Предпочитаю структуру примерно такую:

а разве может быть иначе? smile 


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


Шустрый
*


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

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



Всемогущий, про bbcode знаюsmile но потом, ближе к концу, будет его отладка(надеюсь вы мне поможете)


CyClon, можно и так, особой роли не играет, но спасибо.. может так будет удобнее smile 


Всемогущий, а что насчет того что я писал(про защиту чтения сис. файлов)?

Цитата(Alexey007 @  4.5.2007,  12:51 Найти цитируемый пост)
 сразу вопрос, что в модуле должно содержаться?


Добавлено через 2 минуты и 32 секунды
 smile Мне интересно, как ты читаешь посты? половину ваще пропускаешь.. писал бы: "На твое усмотрение" "Можно и так" "Понятия не имею"
PM MAIL   Вверх
Всемогущий
Дата 4.5.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Alexey007 @  4.5.2007,  17:22 Найти цитируемый пост)
Мне интересно, как ты читаешь посты? 

Предпологается иерархия 
Вы : Руководитель 
Я : Консультант по техническим вопросам.
Из этого следует что те части которые были предложены вами и не вызвали  резкой критики(естественно аргументированой) с моей стороны принимаются по умолчанию.
к примеру 

Цитата(Alexey007 @  4.5.2007,  14:51 Найти цитируемый пост)
defined( '_VALID_MOS' ) or die( 'Просмотр невозможен!' );



и теперь что б не сочли за пустую болтавню продолжаем обсужать

предлагаю сделать модуль новостей с такой структурой:
в бд хранятся 2 таблицы:

первая собственно с текстами новостей
вторая с отзывами

Добавлено @ 15:54
Код

CREATE TABLE `news` (                                      
          `id` int(10) unsigned NOT NULL auto_increment,           
          `time` datetime NOT NULL,                                
          `zaglavie` text NOT NULL,                                
          `text` text NOT NULL,                                    
          `nb_img` tinyint(1) NOT NULL,                            
          `n_img` tinyint(1) NOT NULL,                             
                
          PRIMARY KEY  (`id`),                                     
          UNIQUE KEY `time` (`time`),                              
          FULLTEXT KEY `poisk` (`text`)                            
        ) ENGINE=MyISAM   DEFAULT CHARSET=cp1251  


Это сообщение отредактировал(а) Всемогущий - 4.5.2007, 15:56


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


Шустрый
*


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

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



Ну по поводу новостей таблица уже заказана с такими критериями:
Код

CREATE TABLE `news` (
  `id` bigint(20) NOT NULL auto_increment,
  `name` varchar(255) default NULL,
  `text` text,
  `site` varchar(50) default NULL,
  `date` date NOT NULL default '0000-00-00',
  `img` text NOT NULL,
  `visible` varchar(25) NOT NULL default 'on',
  PRIMARY KEY  (`id`)
);

Вот, нашкрябал.. Помогите улучшить и объединить 2 файла:
Файл коротких новостей
Код

$q="SELECT id, name, SUBSTRING_INDEX( text, ' ', 20 ) AS text, site, date, img, visible FROM news where visible='on' ORDER BY id desc";
    $res=mysql_query($q);
    while($row=mysql_fetch_array($res))
    {
     $id = $row[0];
     $name = $row[1];
     $text = $row[2];
     $site = $row[3];
     $date = $row[4];
     $img = $row[5];

   echo $name;
   echo $text;
   echo $site;
   echo $date;
   echo '<a href=&id='.$id.'>[Подробнее]</a>';
   echo '<hr>';
    }


 Файл длинных
Код

$row=mysql_fetch_array(mysql_query("SELECT * FROM news WHERE visible='on' and id=".$_GET['id']));
$id = intval($_GET['id']);
$sql = "(
        SELECT 0,`id`
        FROM `news`
        WHERE visible='on' and `id` <".$id."
        ORDER BY `id` DESC
        LIMIT 1
        )
        UNION (
        SELECT 1,`id`
        FROM `news`
        WHERE visible='on' and `id` >".$id."
        ORDER BY `id` ASC
        LIMIT 1
        )";
$query = mysql_query($sql) or die(mysql_error());
while(list($type,$nId) = mysql_fetch_row($query))
{
    if ($type == 0)
    {
    $back_to = '<a href=&id='.$nId.'>Предыдущая новость</a>';
    }
    elseif($type == 1)
      {
      $next_to = '<a href=&id='.$nId.'>Следущая новость</a>';
      }
}
echo '<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="33%" align="LEFT">'.$back_to.'</td>
    <td width="33%" align="CENTER"><a href="">Перейти на первую новостей</a></td>
    <td width="33%" align="RIGHT">'.$next_to.'</td>
  </tr>
</table>';
echo $row[name];
echo $row[text];
echo $row[site];
echo $row[date];
echo $row[img]);


P.S. Сразу скажу, что все эти echo данных так выглядеть НЕ должно... Все будет уходить в шаблон...
PM MAIL   Вверх
BuShaRt
Дата 4.5.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



 smile 
Допусти мы тоже не знаем не HTML не BB, но вот почему то я вполне, представив, что их забыл, могу сделать так:

Первая надписть
Вторая

Третья


Как я это сделал? smile))))
Просто мне в помощь пришел интерфейс на JavaScript, который вполне понятен, если конечно человек вообще способен что-либо понимать smile

Мораль: Если нужны функции редактирования текста, то ненадо мудрить, а делайте панель форматирования текста на JS.

Пример.
PM MAIL   Вверх
Alexey007
Дата 4.5.2007, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Alexey007 @  4.5.2007,  12:51 Найти цитируемый пост)
В каких форматах лучше хранить все модули? (т.е. все кроме index.php)

Ещё немаловажно

Добавлено через 2 минуты и 1 секунду
BuShaRt, у меня форма добаления новостей будет такая же, как на этом форуме(похожая).
А bbcode буду использовать только для того, чтобы в поле текста не было всяких тегов закрученных!
PM MAIL   Вверх
Всемогущий
Дата 4.5.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

пока оставлю SQL как есть но мне кажется, что новости лучше выбирать по времени.

Код

<?php
//маленькие новости
$q="SELECT id, name, SUBSTRING_INDEX(text, ' ', 20) AS text, site, date, img, visible FROM news where visible='on' ORDER BY id desc";



$row=mysql_fetch_array(mysql_query("SELECT * FROM news WHERE visible='on' and id=".$_GET['id']));

$sql = "( SELECT 0,`id`  FROM `news` WHERE visible='on' and `id` <".$id."    ORDER BY `id` DESC   LIMIT 1   )
          UNION (SELECT 1,`id` FROM `news` WHERE visible='on' and `id` >".$id." ORDER BY `id` ASC  LIMIT 1  )";


$query = mysql_query($sql) or die(mysql_error());



         echo  universaltable($query);

function universaltable($result,$how=3){
         $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>';
}
function myrow($row){
         if($row==false) return '<td>'.'------'.'</td>'."\r\n";
         $otvet=print_r($row,1);


         return '<td align="center">'.$otvet.'</td>'."\r\n";

}
function Oglavlenie($page,$kolvo,$inone,$otstup,$nameVARpage) {
        //$nameVARpage имя переменной которая содержит номер страници
        //где были туда и придём
         $Murl='"http://'.$_SERVER['HTTP_HOST'].$_SERVER["SCRIPT_NAME"];
         $myqery=$_GET; unset($myqery[$$nameVARpage]);

         //первый параметр номер страницы которая сейчас активна
         //$kolvo количество строк на одной странице
         //$start переменная в которая говорит  с какой страници будет начинаться оглавление
         //$stop соответственно заканчиавется

         //узнаем максимальное число страниц
        $maxpage=ceil ($kolvo/$inone) ;
         //$otstup; максимальное колво видимых номеров страниц
         //$page; номер страницы
         //$kolvo; общее кол во линий
         //$inone; линий на страницу
         $maxpage=ceil ($kolvo/$inone) ;
         if($maxpage==0){return 'Ничего не найдено.';}
         if($maxpage==1){return 'Всего одна страница.';}

         $start=$page-$otstup;if($start<1)$start=1;
         $stop=$page+$otstup ;if($stop>$maxpage)$stop=$maxpage;
         foreach(range ($start,$stop) as $v){
         $myqery[$nameVARpage]=$v;
         $endqery=$Murl.'?'.http_build_query($myqery);
         if($v==$page){$v='<b>['.$v.']</b>';}
         $oglavlenie[]='<a href='.$endqery.'">'.$v.'</a>';}



         return  implode(' | '."\r\n",$oglavlenie).' Всего страниц('.$maxpage.')';
}
?>



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


Шустрый
*


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

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



Всемогущий, это, надеюсь не PHP5? на сервере 4 стоит
PM MAIL   Вверх
Всемогущий
Дата 4.5.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



единственное отличие http_build_query 
попроси SelenIT

а вообще скоро выйдет php6 нужно модернезировать сервер


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


Шустрый
*


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

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



Если бы я знал как...
Во чо пишет:
Код

Notice: Undefined index: id in Z:\home\localhost\www\site\engine\modules\news.php on line 7

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\site\engine\modules\news.php on line 7

Notice: Undefined variable: id in Z:\home\localhost\www\site\engine\modules\news.php on line 9

Notice: Undefined variable: id in Z:\home\localhost\www\site\engine\modules\news.php on line 10
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY `id` DESC LIMIT 1 ) UNION (SELECT 1,`id`


Добавлено @ 17:58
 smile а как обновить пхп на сервере, там вроде только адмни хостинга может...

Это сообщение отредактировал(а) Alexey007 - 2.2.2011, 19:21
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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