![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
Подскажите, как, с помощью php создать следующее.
Будет сайт, будет куча страничек. Странички, грубо говоря, будут разбиты на 4 части (шапка, и три части). Контент будет менятся только в одной части (на картинке эта часть вторая). На остальных частях (1 и 3) будет всегда одно и то же на всех страничках. Как такое реализовать ? Подозреваю, что можно контент 1ой и 3ей части хранить в двух разных файлах, а на всех страничках в 1ой и 3ей частях прописать один раз что-то типа ссылки на те два файла, и менять всего один из файлов, чтобы инфа обновилась потом на любой из страничек, но как это сделать - пока не знаю |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
самый простой способ разбиваем структуру сайта на блоки и собираем их с помощью include("bla-bla.php");
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| vintyara |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
кстати, забыл присабачить картинку..
z-END, и как оно работать будет ? тоесть вот у меня документ - index.php и подобные ему :
bla-bla.php :
типа такого делать ?? |
||||
|
|||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
ёмаё.. опять картинку забыл.. вот она ..
Присоединённый файл ( Кол-во скачиваний: 48 )
123.JPG 5,55 Kb |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Типа такого, только не забудь теги пхп
Кстати вместо include лучше использовать require_once. |
|||
|
||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
ок, спасибо, буду пробовать
sugeeтеги просто в лом рисовать было |
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
require_once позволяет избежать ошибок связанных с многократным подключением одного и того же файла. Хотя... в твоем случае такое вряд ли случится, если ты будешь делать именно так как показал. Если только bla-bla-2.php у тебя будет включать в себя bla-bla.php... Но в любом случае, если ты возьмёшь за правило require_once, то у тебя этой головной боли никогда не будет. А юзать так же как include, синтаксис тот же. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
vintyara если подгружаемый файл надо просто вывести, то include - серьезная ошибка. Для этих вещей есть readfile или fpassthrow (вроде так пишется).
Ну повторное подключение файла это не ошибка, с точки зрения языка. И *_once функции делают несколько другое. Они уже подключенный файл еще раз не читают, а берут из памяти. Только обращаю внимание, что есть require, а есть include, которые несколько отличаются. |
|||
|
||||
| sugee |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Повторное подключение само по себе не ошибка, но оно может стать причиной ошибки, если допустим один из подключаемых файлов в свою очередь подключает другой. Это приведет к повторному определению функции которая есть в файле который включен в другой подключаемый файл, а это уже с точки зрения языка ошибка! Это ситуация наверно не очень частая, но случится может, а require_once позволяет подстраховатся. Я лично подключаю файлы(в смысле скрипты) require_once-ом, по крайней мере хуже от этого не станет.
Насколько я понял vintyara хочет в статическую хтмл-страницу включить PHP файл который будет генерить динамическую часть, так что тут readfile() никак не подходит. |
||||
|
|||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Я понял наоборот, т.к.:
|
||||
|
|||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
ну у меня сейчас проблема такова. с самого начала у меня была титульная страничка. сверху шапка, слева меню, по середине новости всякие, справа пара баннеров. затем я стал делать другие странички, которые открывались с главной. при чём у них было всё то же самое (содержание) кроме середины. в итоге у меня сейчас штук 20 html файлов. и вот мне понадобилось в меню (что слева) добавить ещё один пункт. и из-за моей необдуманности, мне придёцца править все это 20 страниц вручную по отдельности. а если бы было 100
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Да. readfile
|
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Mal Hack , так ведь новости которые посередине это и есть динамическая часть, а всё остальное статика.
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Новости да, а остальное - нет.
|
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
В принципе мне самому больше нравится вариант
когда сайт в основе своей динамический но включает в себя статические кусочки которые хранятся в отдельных файлах. Другое дело насколько это нужно сейчас... vintyara, во всяком случае если бы у тебя был один файл, в который ты бы включил скрипт новостей, тебе не пришлось бы править 20 файлов. ЗЫ В общем, вот у тебя есть два варианта, выбирай какой для тебя удобнее. |
|||
|
||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
спасибо за советы
|
|||
|
||||
| sugee |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Кстати вот нарыл готовый класс - шаблон страницы,
как-раз по твоей теме. Правда он на PHP5 но на PHP4 переделать очень просто - убрать везде public, там где объявляются свойства вместо public написать var.
Тоько он у меня ошибку выдает
Я ещё не понял почему Это сообщение отредактировал(а) sugee - 2.12.2005, 21:28 |
||||
|
|||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
Просто у меня PHP5 установлен как cgi, надо было в cgi-bin поместить.
|
|||
|
||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
я уже половину заточил под readfile()
|
|||
|
||||
| sugee |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: 1 Всего: 4 |
В принципе делай как начал, особенно если сроки поджимают, но вообще написать шаблон страницы в ввиде класса не худшее решение.
Я сейчас сам переписываю этот класс под себя, только весь хтмл и CSS у меня хранится в отдельных файлах. Подключать я их тоже решил readfile-ом А внешние скрипты require_once-ом Пришел к консенсусу так сказать...
Кстати а почему? Какие могут быть проблемы? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А если там встретится PHP код? |
|||
|
||||
| Enya |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Вопрос такой:
Используя предложенный вариант, сверху шапка, и три колонки. Как сделать чтобы переключая меню, загружался нужный фаил, а шапка и вся остальная статичная информация оставалась наместе. Ну меняесть только седняя часть. -------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 3 Всего: 67 |
Без перезагрузки страницы это не получится. Можно сделать отдельными файлами шапку и остальную статическую инфу и подключать их в каждый файл. Но есть ещё несколько способов: 1) делать на фреймах FRAMESET, FRAME 2) грузить изменяющуюся часть с помощью XmlHttpRequest |
|||
|
||||
| Illuminaty |
|
|||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 6 Всего: 56 |
чуть добавлю для полноты списка
+ еще <IFRAME> 3) при помощи <object> (flash, java и т.п.) |
|||
|
||||
| Enya |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Я наверное не правильно спросила.
Как вообще организовать ссылки на страницы сайта, что бы получались
-------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Ну это смотря какая у тебя струткура. sect_id=5 - это что, номер файла, id-ишник записи в БД?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Enya |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
-=Ustas=-
-------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
| Illuminaty |
|
|||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 6 Всего: 56 |
Это сообщение отредактировал(а) Illuminaty - 28.12.2005, 11:47 |
|||
|
||||
| XOMbl4 |
|
|||
|
Форумное жывотнае ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 2.12.2005 Репутация: 1 Всего: 2 |
Для простоты:создаем файл .htm,там дизайн,все статичное что,далее туда где нужно изменение контента пишем такой код
Дальше пишеш еще парочку таких условий,меняя номер sect_id и имя нужного файла,это самое простое. Это сообщение отредактировал(а) XOMbl4 - 28.12.2005, 13:03 |
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
На пальцах: Создаешь базу: Номер записи | Содержание 1 Вася 2 Маша 3 Коля Забиваешь базу данными. Пишешь ссылку, где номер записи в базе будет равен содержанию записи в базе, то есть ?id=1 будет выводить Вася ?id=2 будет выводить Маша и т. далее -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| -=Ustas=- |
|
||||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Гемор самый полный! Если уж действительно хочешь простоты, то тогда уж лучше так: создаем диру content, в которой будут храниться файлы с контентом. Имена файлов будут типа 1,2,3...и т.д. в порядке возрастания. В самих файлах контента лучше всего в самом вверху в виде коментария прописывать так <!--{Имя ссылки для меню}-->. Вот. Далее.... Пробегаем эту диру, получаем список файлов, затем в цикле регулярками выдираем имя ссылки, запоминаем имя текущего файла, который читали, забиваем массив. Получается типа
Затем в цикле, если получена переменная $_GET['id'] , делаем так:
Это самый простой способ, но ИМХО, лучше делать через БД. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||||
|
|||||||
| DarkmasterX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
можно как-то избавиться от эдакого огромного кол-ва страниц? типа базы что-то сбацать, тока без БД
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |