Создание Сайта-Блога с нуля
| |
vicu2010 | Дата: Суббота, 16 Февраля 2013, 19:11 | Сообщение # 1 |
Сейчас нет на сайте
| Итак, я делаю сайт.
* Разбил сайт по частям -- Header, Content и Bottom ( шапки, контент и низ) * Каждая часть описана в своих файлах -- header.html , content.html и bottom.html
Как собрать эти части, чтобы на index_*name*.html выдавало все части вместе. Ну вы понели да?
Это я сделал, чтобы в случае желания отредактировать одну из частей, не пришлось делать это во всех файлах сайта. Да, я нуб в сайтостроении с нуля, раньше юзал готовые кмс. А сейчас понадобилось построить собственную.
Если есть желающие помочь с написанием сайта, Обращайтесь в скайп: aora2009
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
|
|
| |
ALEKS333 | Дата: Суббота, 16 Февраля 2013, 19:15 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| тебе так просто это в html файле не реализовать, нужно или шаблонизатор писать, или при помощи гравного файла index.php реализовать(это легче)
|
|
| | |
ALEKS333 | Дата: Суббота, 16 Февраля 2013, 19:25 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| Цитата (vicu2010) Ты можешь подкинуть материалы для изучения? для изучения ничего нет, но как реализовать при помощи index.php думаю подскажу как, если что, мой скайп aleks_vast
|
|
| |
TimKruz | Дата: Суббота, 16 Февраля 2013, 20:49 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Цитата (vicu2010) Как собрать эти части, чтобы на index_*name*.html выдавало все части вместе. Ну вы понели да? Теоретически, можно было бы сделать и так, правда, я не знаю, какой веб-сервер такое умеет и на каком скриптовом языке с ним общаться. Можно, конечно, легко написать свой собственный веб-сервер, но ведь тебе нужно решение для уже существующих серверов... Поэтому, на мой взгляд, проще сделать как index.php?page=номер-или-название, т.е. отправляем get-запрос php-скрипту, который генерирует требуемую страницу. Заголовок и подвал страницы можно вывести командой @readfile('header.html'); и @readfile('bottom.html'); соответственно, или прикрепить командой include, если у тебя файлы header.html и bottom.html тоже будут на php написаны.
Цитата (vicu2010) Это я сделал, чтобы в случае желания отредактировать одну из частей, не пришлось делать это во всех файлах сайта. А я себе сделал всего один index.html, который включает в себя весь сайт (только index.css отдельно) и генерирует любые страницы, правда, внешние файлы всё равно есть, но их редактировать вручную не нужно, т.к. они самим index.html обрабатываются. Конечно, в огромной странице смешанного html+php чёрт ногу сломит, зато никаких лишних файлов. Можно ещё весь основной текст и куски html вынести в отдельные файлы, чтобы можно было редактировать дизайн и надписи отдельно от кода, тогда получится движок-в-одном-файле, который, в идеале, не нужно редактировать... А собственно запрос страниц у меня выглядит так: html://example.com/?t=номер_раздела&p=номер_страницы&m=номер_материала&d=номер_действия, при чём переменные tpmd, в идеале, описывают любую страницу сайта и любой запрос пользователя...
Сообщение отредактировал TimKruz - Суббота, 16 Февраля 2013, 20:59 |
|
| |
Gronzo | Дата: Суббота, 16 Февраля 2013, 21:38 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| С таким подходом советую использовать не wordpress, а MODx. я реально забыл многие проблемные места когда перенес всю веб-разработку на данную cms
Скорость перебора паролей прямо пропорциональна квадрату температуры утюга
|
|
| |
romgerman | Дата: Воскресенье, 17 Февраля 2013, 01:26 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Нужно сделать не footer/header/content.html, а тоже самое, только с расширением PHP. Потом сделать главный файл index.php и вставлять все файлы по средствам include('header.php'); вроде так. В гугле всё есть, просто нужно правильно составить запрос. А вообще бери WordPress, Drupal и прочие движки и делай просто свою тему. А так, учи PHP +MySQL и будет тебе счастье.
|
|
| |
friend | Дата: Воскресенье, 17 Февраля 2013, 10:45 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Цитата (romgerman) А вообще бери WordPress, Drupal друпал еще может быть, ты видел блоги с большой посещаемостью на wp? они тормозят ппц как, да и вообще wp превратился уже хз во что, есть куча вариантов альтернативе wp, нужно просто хорошенько поискать (разумеется не в рашке)
|
|
| |
vicu2010 | Дата: Вторник, 19 Февраля 2013, 01:23 | Сообщение # 9 |
Сейчас нет на сайте
| Спасибо пацаны, но ALEKS333 мне уже подсказал про include в скайпе. Однако я уже перешел с php include на mysql include т.е. теперь сайт у меня как у ТимаКруза, весь сайт в index.php. Всю инфу храню в БД и оттуда ставлю на нужное место на странице.
Теперь появлся новый вопрос, однако я даже теоретично не знаю как это реализовать.
Допустим у меня есть БД. У каждой страницы своя строка и свойства, вот так: page1 | title | descript page2 | title | descript page3 | title | descript
Теперь я хочу сделать админку своего сайта. Она сможет добавлять новые страницы, т.е. мне не нужно будет лезть в ПХПмуАдмин, чтобы добавлять новые страницы, а это будет доступно из админки и в очень простом виде.
Как вообще реализовать добавление строки в СУБД?
Буду рад хотя-бы наводкам.
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
|
|
| |
Steiz | Дата: Вторник, 19 Февраля 2013, 03:28 | Сообщение # 10 |
echo "PHP,MYSQL,JAVASCRIPT,HTML,CSS";
Сейчас нет на сайте
| PHP: Код <? $db = mysql_connect ("localhost","root",""); mysql_select_db ("test",$db); if($_GET["act"] == "add"){ if($_POST["title"] && $_POST["descript"]){ $sql="INSERT INTO pages (title, descript) VALUES ('$_POST[title]','$_POST[descript]')";
if (!mysql_query($sql,$db)) { die('Error: ' . mysql_error()); } die("Все ок<br><a href='?aсt=add'>Назад</a>"); } die (' <FORM action="admin.php?act=add" method="post"> <P> title: <INPUT type="text" name="title"><BR> descript: <textarea name="descript" cols="40" rows="3">descript</textarea><BR> <INPUT type="submit" value="Добавить"> </P> </FORM>'); } ?> <a href="?act=add">Добавить страницу</a> Структура: Код CREATE TABLE IF NOT EXISTS `pages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` text NOT NULL, `descript` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;
Освоил: 3d max,blender painter,photoshop,sketchbook,gimp C++,C#,javascript,php,html,css,mysql unity3d,udk,ue
Сообщение отредактировал Steiz - Вторник, 19 Февраля 2013, 03:43 |
|
| |
vinurd | Дата: Вторник, 19 Февраля 2013, 06:05 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| А чем DLE не устраивает? даже если его не хотеть у него приятный и понимаемый код-можно что то взять себе и переделать. Особенно у них приятно сделаны шаблоны. Неплохая скорость с медленными серверами, в админке есть управление по отключению всего не нужного. Большинство сайтов, по новостным сми, блогам и прочему построены на принципе DLE, либо на нем самом лицензия на год не дорогая. Добавлено (19.02.2013, 06:05) --------------------------------------------- вот например социальная сеть сайта коммунистической партии, делал я. переработал многие модули и совместил с друг другом. сайт
|
|
| |
vicu2010 | Дата: Суббота, 23 Февраля 2013, 22:31 | Сообщение # 12 |
Сейчас нет на сайте
| Steiz, Спасибо за скрипты, опробую.
vinurd, не брал готовые КМС ибо мне не сайт как таковой нужен. Мне нужен именно самописный сайт, для себя и чисто для навыков. Я часто использовал КМС, но это не тот случай) Спасибо.
Добавлено (23.02.2013, 22:31) --------------------------------------------- Привет, очередной вопрос. У меня уже имеются много страниц, но все они в одной таблице articles. Тблица имеет 10 параметров, так в зависимости от параметров я определяю какого рода эта страница(блоговая, главная, чатовая, проектовая и т.п.). Но есть проблема, каждая станица имеет одноформенную ссылку(урл), типа: site/index.php&index.php?pagina=4 site/index.php&index.php?pagina=5 site/index.php&index.php?pagina=6 и тп
Как сделать чтобы было типа ?category=pagina=2 . У меня имеется свойство категория у таблицы.
Вот код как мне кажется отвечающий за вывод адресной строки: Код <?php include ('db_conn.php'); include ('functions.php'); if(!isset($_GET['pagina'])){ $pagina = '1'; } else{ $pagina = addslashes(strip_tags(trim($_GET['pagina']))); } $art_data = GetDataArt($pagina);
art_data[9] у мну будет выводить имя категории.
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
Сообщение отредактировал vicu2010 - Суббота, 23 Февраля 2013, 22:32 |
|
| |
lvovand | Дата: Суббота, 23 Февраля 2013, 23:00 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| можно в .htaccess
... RewriteRule ^category/([0-9]+)$ index.php?pagina=$1 [QSA,L] ... и ссылка будет типа site.ru/category/5
$pagina = addslashes(strip_tags(trim($_GET['pagina']))); если число, то проще просто взять $pagina = intval($_GET['pagina']);
Разработка и продвижение сайтов. Дизайн
|
|
| |
vicu2010 | Дата: Суббота, 23 Февраля 2013, 23:18 | Сообщение # 14 |
Сейчас нет на сайте
| C htacces не сойдёт ибо категории могут быть разными....
Вот мой файл index.php : Код <?php include ('db_conn.php'); include ('functions.php'); if(!isset($_GET['pagina'])){ $pagina = '1'; } else{ $pagina = addslashes(strip_tags(trim($_GET['pagina']))); } $art_data = GetDataArt($pagina); ?> functions.php: Код <?php function GetDataArt($pagina){ $sel = "SELECT `title`,`page_title`,`meta_d`,`meta_kw`,`content`, `page_date`, `mini_cont`, `imagine`, `visited`, `category` FROM `articles` WHERE `id` = '$pagina' LIMIT 2"; $query = mysql_query($sel); if(!$query){ echo(':('); } else{ if(mysql_num_rows($query)>0){ $res = mysql_fetch_array($query); $title = $res['title']; $page_title = $res['page_title']; $meta_kw = $res['meta_kw']; $meta_d = $res['meta_d']; $content = $res['content']; $page_date = $res['page_date']; $mini_cont = $res['mini_cont']; $imagine = $res['imagine']; $visited = $res['visited']; $category = $res['category']; } else{ $title = 'К сожалению, такая страница отсутствует на данном сайте!'; $page_title = 'К сожалению, такая страница отсутствует на данном сайте!'; $meta_kw = $meta_d = $content = ''; } $data_arr = array($title, $page_title, $meta_kw, $meta_d, $content, $page_date, $mini_cont, $imagine, $visited, $category); return $data_arr; } } ?>
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
|
|
| |
lvovand | Дата: Суббота, 23 Февраля 2013, 23:53 | Сообщение # 15 |
старожил
Сейчас нет на сайте
| если категории разные, можно же и две переменных отработать
^([a-z]+)/([0-9]+)$ index.php?category=$1&pagina=$2 [QSA,L]
Разработка и продвижение сайтов. Дизайн
|
|
| |
vicu2010 | Дата: Среда, 27 Февраля 2013, 18:07 | Сообщение # 16 |
Сейчас нет на сайте
| lvovand, проблема то не с созданием чпу, а с созданием самих категорий в пхп. Добавлено (27.02.2013, 18:07) --------------------------------------------- Вывод статей из БД по дате. Я уже сделал вывод по айди, но нужно по дате, вот мой код: if(mysql_num_rows($query)>0){ while($res = mysql_fetch_array($query)){ ... }
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
|
|
| |
Steiz | Дата: Среда, 27 Февраля 2013, 18:31 | Сообщение # 17 |
echo "PHP,MYSQL,JAVASCRIPT,HTML,CSS";
Сейчас нет на сайте
| SELECT ...... ORDER BY date DESC
Освоил: 3d max,blender painter,photoshop,sketchbook,gimp C++,C#,javascript,php,html,css,mysql unity3d,udk,ue
|
|
| |
vicu2010 | Дата: Среда, 27 Февраля 2013, 18:50 | Сообщение # 18 |
Сейчас нет на сайте
| Steiz, а можно это как-то в цикл поставить через пхп, чтобы на страницу все статьи вывести? как у меня, только с ордерингом. Добавлено (27.02.2013, 18:50) --------------------------------------------- Получилось) Огромное спасибо!
Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
|
|
| |
Dorfey | Дата: Четверг, 04 Апреля 2013, 15:04 | Сообщение # 19 |
был не раз
Сейчас нет на сайте
| возьми простенькую cms для блога и не парься.
если хочешь писать код, то возьми фреймворк, для начала codeigniter подойдет.
|
|
| |
|