Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#24 used as offset, casting to integer (24) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Движок на ПХП
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: Как написать?
Ty-134
Отправлено: 25 Марта, 2005 - 07:43:38
Post Id



Newbie


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2005  
Откуда: Tadzhikistan, Chkalovsk

Карма 0




Профессионалы! Помогите написать простенький движок на пхп.

Движок сайта на PHP
Нечаев Евгений
В этой статье рассказывается о технике создания сайтов использующих технологию PHP. Рассмотрим это на примере.

Пусть наш сайт состоит из 3-х разделов: Раздел1, Раздел2 и Раздел3 соответственно. Для начала необходимо создать страницу, которая будет являться шаблоном нашего сайта. Например, такую:
CODE:
<html>
<head>
<title>Сайт</title>
</head>
<body>
<table border=0 width=100%>
<tr><td width=30% valign=top>меню</td>
<td valign=top>основное содержание<td/></tr>
</table>
</body>
</html>

и сохранить её с расширением .php, например index.php

Вместо слов меню впишем ссылки на наши суперские и очень информативные разделы:
CODE:
<a href=index.php?id=1>Раздел1</a><BR>

<a href=index.php?id=2>Раздел2</a><BR>

<a href=index.php?id=3>Раздел3</a><BR>

Вместо слов "основное содержание" необходимо записать:
CODE:
<? include “razdel.php”; ?>

Это команда PHP, которая вставляет в нашу страничку содержание страницы razdel.php (если этот файл лежит в другом разделе, то нужно указать путь, например include “razdels/razdel.php”Подмигивание

Осталось создать страницу razdel.php. Как Вы уже поняли, она будет содержать информацию разделов и будет отображать необходимый нам в данный момент раздел. В простейшем случае этот файл может быть таким:
CODE:
<?
Function ShowRazdel_1() {
//Содержание раздела 1
}
Function ShowRazdel_2() {
//Содержание раздела 1
}
Function ShowRazdel_3() {
//Содержание раздела 1
}
Function ShowMainPage() {
//Содержание главной страницы
}

switch($id) {
case "0": ShowMainPage();
break;
case "1": ShowRazdel_1();
break;
case "2": ShowRazdel_2();
break;
case "3": ShowRazdel_3();
break;
}

?>

Получается номер раздела id, а затем на его основе вызывается та или иная функция, содержащая в себе содержание раздела. Для передачи id ссылка вызывается с параметром.

Сделаем, что если id не указан, то загружается главная страница (это используется при переходе на страницу не по ссылке). Для этого добавим в самое начало файла index.php следующую строчку:
CODE:
<? if(!isset($id)) { $id = 0; } ?>

Её можно расшифровать следующим образом: если не указан id, то делаем его нулем.

Окончательно получаем следующие страницы:

index.php
CODE:
<? if(!isset($id)) { $id = 0; } ?>
<html>
<head>
<title>Сайт</title>
</head>
<body>
<table border=0 width=100%>
<tr><td width=30% valign=top>
<a href=index.php?id=1>Раздел1</a><BR>
<a href=index.php?id=2>Раздел2</a><BR>
<a href=index.php?id=3>Раздел3</a><BR>
</td>
<td valign=top>
<? include “razdel.php”; ?>
</td></tr>
</table>
</body>
</html>


razdel.php
CODE:
<?
Function ShowRazdel_1() {
//Содержание раздела 1
echo "<h1 align=center>Раздел1</h1>";

}
Function ShowRazdel_2() {
//Содержание раздела 2
echo "<h1 align=center>Раздел2</h1>";
}
Function ShowRazdel_3() {
//Содержание раздела 3
echo "<h1 align=center>Раздел3</h1>";
}
Function ShowMainPage() {
//Содержание главной страницы
echo "<h1 align=center>Главная страница</h1>";
}
switch($id) {
case "0": ShowMainPage();
break;
case "1": ShowRazdel_1();
break;
case "2": ShowRazdel_2();
break;
case "3": ShowRazdel_3();
break;
}

?>

Создание нового раздела теперь не составляет труда – просто дописываем ссылку в меню и вставляем функцию в файл razdel.php. Таким образом, дизайн сайта и содержание разделов полностью изменяется всего одним файлом, что очень удобно.


Вот как здесь описано не очень хорошо получается.

#####################
# заголовок #
#####################
# м # #
# е # #
# н # здесь должно #
# ю # меняться #
#####################

Фреймы я использовать не хочу!
 
 Top
Alone
Отправлено: 25 Марта, 2005 - 07:59:50
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




А тэги ExBB использовать не привычно?
 
 Top
Alfa
Отправлено: 25 Марта, 2005 - 08:02:44
Post Id



Программер лодырь


Покинул форум
Сообщений всего: 609
Дата рег-ции: Сент. 2004  
Откуда: Moldova, republic of

Карма 2




Во-первых выключисмайлики и используй тэг [code*][/code*] для кодов. ***
Во-вторых - вопроса не вижу.
Во-третийх - не легче там в "switch($id)" использывать не функции а просто инклюды. вот так:
CODE:

switch($id) {
case "0": include('razdel0.php');
break;
case "1": include('razdel1.php');
break;
case "2": include('razdel2.php');
break;
case "3": include('razdel3.php');
break;
}


***Звездачки для того что-бы форум не воспринимал это как тэг
 
 Top
St.A.N.
Отправлено: 25 Марта, 2005 - 09:55:06
Post Id



Super-Puper Member


Покинул форум
Сообщений всего: 1901
Дата рег-ции: Май 2004  
Откуда: КОМИ г.Печора

Карма 2




Ty-134 пишет:
Профессионалы! Помогите написать простенький движок на пхп.

Скачай себе готовый движок...Улыбка
 
 Top
TvoyWeb Администратор
Отправлено: 25 Марта, 2005 - 12:35:46
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Ty-134 пишет:
Вот как здесь описано не очень хорошо получается.

Что именно не получается. Задавай конкретный вопрос. ИМХО если все сделал правильно, приведенный тобою скрипт будет нормально работать.
Alfa пишет:
Во-третийх - не легче там в

Здесь немного не та ситуация Улыбка для свитча.
 
 Top
Ty-134
Отправлено: 26 Марта, 2005 - 14:27:50
Post Id



Newbie


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2005  
Откуда: Tadzhikistan, Chkalovsk

Карма 0




У меня проблема с динамическими страницами, при открытии страниц через razdel.php
(со статическими проблем естественно нет)
С этим кодом они (динамические) не работают, т.е. они вызываются, но не исполняются.
Мне пришлось переписать ссылки в меню напрямую, минуя razdel.php
А что нужно изменить я не пойму, такое ощущение, что при исполнении razdel.php вызываемая страница теряет путь.
Приведу пример: На моём сайте есть форма для отправки на e-mail, если я её вызываю через razdel.php, т.е. a href=”index.php?id=1” она вызывается, но не более, а если я укажу на неё прямую ссылку типа a href=”email.php”, всё работает нормально.
 
 Top
TvoyWeb Администратор
Отправлено: 26 Марта, 2005 - 15:53:09
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Что-то я счас туго соображаю Улыбка Чуть позже отвечу.
 
 Top
Ray Wen Администратор
Отправлено: 27 Марта, 2005 - 00:51:07
Post Id



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Ty-134
А ты дай еще кому-нибудь на сайте полазить... вполне возможно это у тебя с браузером что-то... Я сам уже давно написал и использую подобный движек и все нормально работает... Если только браузер кэширует страницу и отказываеться загружать ее снова происходит такое.
 
 Top
TvoyWeb Администратор
Отправлено: 27 Марта, 2005 - 01:59:50
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Ray Wen
Здесь нужно смотреть не только приведенный скрипт, но и скрипты которые инклюдятся. Возможно что в этих самых скриптах и есть ошибка. И потом он ведь использует функции типа ShowRazdel_1(), что там в этих функциях только богу известноУлыбка
 
 Top
Ty-134
Отправлено: 28 Марта, 2005 - 18:34:04
Post Id



Newbie


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2005  
Откуда: Tadzhikistan, Chkalovsk

Карма 0




Вот она
Скачать файл: clearemail.zip
Скачан раз: 631
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0542]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33