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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> посоветуйте - как сделать динамическую страниуц 
:(
    Опции темы
vintyara
Дата 2.12.2005, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



спасибо за советы smile буду делать с readfile() smile
PM MAIL ICQ   Вверх
sugee
Дата 2.12.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Кстати вот нарыл готовый класс - шаблон страницы,
как-раз по твоей теме. Правда он на PHP5 но на PHP4
переделать очень просто - убрать везде public,
там где объявляются свойства вместо public написать var.
Код

<?
class Page
{
public $content;
public $title='TLA Consulting Pty Ltd';
public $keywords='TLA Consulting';
public $buttons=array('Домой'=>'home.php',
                      'Контакт'=>'contact.php',
                      'Услуги'=>'services.php',
                      'Карта сайта'=>'map.php'
                      );
public function __set($name, $value)
{
$this->$name=$value;
}
public function Display()
{
echo "<html>\n<head>\n";
$this->DisplayTitle();
$this->DisplayKeywords();
$this->DisplayStyles();
echo "</head>\n<body>\n";
$this->DisplayHeader();
echo $this->content;
$this->DisplayFooter();
echo "</body>\n</html>\n";
}
public function DisplayTitle()
{
echo '<title>'.$this->title.'</title>';
}
public function DisplayKeywords()
{
echo '<meta name="keywords" content=
     "'.htmlentities($this->keywords).'"/>';
}
public function DisplayStyles()
{
?>
  <style>
<!--
  h1 {color:white; font-size:24pt; text-align:center;
      font-family:arial,sans-serif}
  .menu {color:white; font-size:12pt; text-align:center;
      font-family:arial,sans-serif; font-weight:bold}
  td {background:black}
  p  {color:black; font-size:12pt; text-align:justify;
      font-family:arial,sans-serif}
  p.font {color:white; font-size:9pt; text-align:center;
      font-family:arial,sans-serif; font-weight:bold}
  a:link,a:visited,a:active {color:white}
-->
</style>
<?
public function DisplayHeader()
{
?>
 <table width="100%" cellpadding="12" 
cellspacing="0" border="0">
 <tr bgcolor="black">
  <td align="left"><img src="logo.gif"/></td>
  <td>
     <h1>TLA Consulting Pty Ltd</h1>
  </td>
  <td align="right"><img src="logo.gif"/></td>
 </tr>
 </table>
<?
}

public function DisplayMenu($buttons)
{
  echo '<table width="100%" bgcolor="white"
 cellpadding="4" cellspacing="4">\n';
  echo " <tr>\n";

// вычисление размеров кнопки
$width=100/count($buttons);
while (list($name, $url) = each($buttons))
{
  $this->DisplayButton($width, $name, $url, 
                       !$this->IsURLCurrentPage($url));
}
echo " </tr>\n";
echo "</table>\n";
}

public function IsURLCurrentPage($url)
{
  if(strpos($_SERVER['PHP_SELF'], $url) == false) {
 return false;
}
  else
 {
   return true;
 }
}

public function DisplayButton($width, $name, $url, $active = true)
{
  if($active)
{
  echo "<td width='".htmlentities($width)."%'>
        <a href='".htmlentities($url)."'>
        <img src='s-logo.gif' alt='".htmlentities($name)."'
         border='0'/></a>
        <a href='".htmlentities($url)."'><span class='menu'>$name</span>
        </a></td>";
}
 else
  {
   echo "<td width='".htmlentities($width)."%'>
         <img src='side-logo.gif'
         <span class='menu'>$name</span></td>";
  }
}

public function DisplayFooter()
{
?>
 <table width="100%" bgcolor="black" 
cellpadding="12" border="0">
 <tr>
   <td>
     <p class="foot">&copy; TLA Consulting Pty Ltd.</p>
     <p class="foot">чТО-ТО написано
     <a href="legal.php">кАКАЯ то ссылка</a></p>
   </td>
 </tr>
 </table>
<?
  }
}
?>


Тоько он у меня ошибку выдает
Код

 Parse error: syntax error, unexpected T_PUBLIC in 
x:\home\localhost\www\page.php on line 55

Я ещё не понял почему

Это сообщение отредактировал(а) sugee - 2.12.2005, 21:28
PM MAIL   Вверх
sugee
Дата 2.12.2005, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Просто у меня PHP5 установлен как cgi, надо было в cgi-bin поместить.
PM MAIL   Вверх
vintyara
Дата 3.12.2005, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



я уже половину заточил под readfile() smile на всё равно спасибо smile
PM MAIL ICQ   Вверх
sugee
Дата 3.12.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В принципе делай как начал, особенно если сроки поджимают, но вообще написать шаблон страницы в ввиде класса не худшее решение.
Я сейчас сам переписываю этот класс под себя, только
весь хтмл и CSS у меня хранится в отдельных файлах.
Подключать я их тоже решил readfile-ом
А внешние скрипты require_once-ом
Пришел к консенсусу так сказать...

Цитата(Mal @ 30.11.2005, 22:52)
если подгружаемый файл надо просто вывести, то include - серьезная ошибка

Кстати а почему? Какие могут быть проблемы?

PM MAIL   Вверх
Mal Hack
Дата 3.12.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(sugee @ 3.12.2005, 20:31)
Кстати а почему? Какие могут быть проблемы?

А если там встретится PHP код?
PM ICQ   Вверх
Enya
Дата 27.12.2005, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Ciber SLasH
Дата 28.12.2005, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Enya @ 27.12.2005, 23:21)
Как сделать чтобы переключая меню, загружался нужный фаил, а шапка и вся остальная статичная информация оставалась наместе.

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

Но есть ещё несколько способов:
1) делать на фреймах FRAMESET, FRAME
2) грузить изменяющуюся часть с помощью XmlHttpRequest
PM   Вверх
Illuminaty
Дата 28.12.2005, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



чуть добавлю для полноты списка
Цитата(Ciber @ 28.12.2005, 00:16)
1) делать на фреймах FRAMESET, FRAME

+ еще <IFRAME> smile
3) при помощи <object> (flash, java и т.п.)

PM MAIL ICQ   Вверх
Enya
Дата 28.12.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я наверное не правильно спросила.

Как вообще организовать ссылки на страницы сайта, что бы получались
Цитата
http://www.nasha.lv/news_section.php?sect_id=5&
а при переключении разделов менялась только id smile


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 28.12.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Ну это смотря какая у тебя струткура. sect_id=5 - это что, номер файла, id-ишник записи в БД?


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


Опытный
**


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

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



-=Ustas=-
Цитата
струткура. sect_id=5 - это что, номер файла, id-ишник записи в БД
Так как вот это и сделать... ну не понимаю. smile Хоть на пальцах объяснить.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Illuminaty
Дата 28.12.2005, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



Код

function GetIdFromName($name_of_somebody)
{
// функция возвращает целочисленный идентификатор раздела по его имени
}

function CreateAndEchoLink($link, $name)
{
// функция принимает имя раздела и основной "линк"
echo "<a href=\"".$link."?sect_id=".GetIdFromName($name)."\">Какой-то текст</a>";
}


Это сообщение отредактировал(а) Illuminaty - 28.12.2005, 11:47
PM MAIL ICQ   Вверх
XOMbl4
Дата 28.12.2005, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Форумное жывотнае
*


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

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



Для простоты:создаем файл .htm,там дизайн,все статичное что,далее туда где нужно изменение контента пишем такой код
Код

if($sect_id==1){
include(файл.php);
}

Дальше пишеш еще парочку таких условий,меняя номер sect_id и имя нужного файла,это самое простое.

Это сообщение отредактировал(а) XOMbl4 - 28.12.2005, 13:03
PM MAIL ICQ   Вверх
PARROT
Дата 28.12.2005, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



Цитата(Enya @ 28.12.2005, 11:41)
Так как вот это и сделать... ну не понимаю. smile Хоть на пальцах объяснить.

На пальцах:
Создаешь базу:
Номер записи | Содержание
1 Вася
2 Маша
3 Коля
Забиваешь базу данными.
Пишешь ссылку, где номер записи в базе будет равен содержанию записи в базе, то есть
?id=1
будет выводить Вася
?id=2
будет выводить Маша

и т. далее




--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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