Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопросы по include...
 
 автор: soloway   (31.01.2007 в 12:34)   письмо автору
 
 

Уважаемые, сильно не пинайте, горю!!!

Ситуация такая - исходные данные:
1. Есть сайт. РНР. Всё строится на динамических ссылках типа: ../view.php?id=page01. В .htaccess через Rewrite мод ссылки преобразуются в статические, типа: ^page01.htm view.php?id=page01...
(в принципе подозреваю, что это особого отношения в данном случае не имеет, тем не менее, для полноты исходных данных)

2. В страницу view.php инклюдятся два файла по принципу: <?php include("nav/$id.php"); ?> и <?php include("$id.php"); ?>
И вот тут у меня начинаются грабли:
В страницы page01, page02 и page03 соответственно (по команде <?php include("$id.php"); ?>) инклюдятся page01, page02 и page03, с этим всё ОК, а вот как сделать, что-бы в них, т.е. в page01, page02 и page03 инклюдился (<?php include("nav/$id.php"); ?>) nav/file1.php?.. Далее, скажем в page04, page05 и page06 - nav/file2.php и т.д. В page01 - nav/file1.php у меня инклюдится естественно успешно, а вот далее соотверственно нет...

Выручайте, уважаемые!
Каюсь, грешен, неуч, и нет мне оправданий, но тем не менее, спасайте! SOS!

   
 
 автор: mishaMC   (31.01.2007 в 12:44)   письмо автору
 
   для: soloway   (31.01.2007 в 12:34)
 

Вот это да! Ничего не понятно, вы бы попонятней изъяснялись... Если трудно объяснить, разбавьте Ваш код обильными комментариями и прикрепите здесь на форуме.

   
 
 автор: soloway   (31.01.2007 в 12:56)   письмо автору
 
   для: mishaMC   (31.01.2007 в 12:44)
 

Попытаюсь обяснить проще:
Мне нужно, что бы было примерно так:

В файл view.php

по ссылке view.php?id=news инклюдились nav/news.php и news.php
по ссылке view.php?id=news1 инклюдились nav/news.php и news1.php
по ссылке view.php?id=news2 инклюдились nav/news.php и news2.php

по ссылке view.php?id=about инклюдились nav/about.php и about.php
по ссылке view.php?id=about1 инклюдились nav/about.php и about1.php

Дело в том, что при переходе по ссылке скажем view.php?id=news1, news1.php инклюдится нормально, а nav/news.php, соответственно нет, ошибка гласит, что не найден файл nav/news1.php

   
 
 автор: soloway   (31.01.2007 в 13:11)   письмо автору
 
   для: soloway   (31.01.2007 в 12:56)
 

Попытаюсь ещё проще:

Мне надо, что бы

в файлы Х1, Х2, и Х3 инклюдился файл Y1

в файлы Х4, Х5, инклюдился файл Y2

в файлы Х4, Х5, Х8 и Х9 инклюдился файл Y3

Файлы Х... = wiew.php, с прописанной в нужном месте командой <?php include("$id.php"); ?>

Прболема в том, что Х1 в данном случае инклюдится Y1, в Х2, соответственно Y2 и т.д....

Надо видимо как-то где-то прописать, что Х1=Y1, X2=Y1, X3=Y1, a вот X4 уже равно Y2 и X5=Y2 и т.д....
Я не знаю, ни как, ни где!
Не знаю, даже, в какую сторону копать. Вот.

Как это сделать?
Ткните носом, плз!!!

   
 
 автор: cheops   (31.01.2007 в 13:35)   письмо автору
 
   для: soloway   (31.01.2007 в 13:11)
 

Вы можете получить имя текущего скрипта при помощи $_SERVER['PHP_SELF'] и в зависимости от того где находитесь включать соответствующий файл.

http://www.softtime.ru/info/articlephp.php?id_article=69

   
 
 автор: soloway   (31.01.2007 в 14:07)   письмо автору
 
   для: cheops   (31.01.2007 в 13:35)
 

Спасибо. Попробую разобраться.

Но я пошёл несколько другим путём.

Написал вот что:
<?php
$bar 
"y1.php"
 include(
"nav/$bar"); ?>


Это заработало, но лишь от части... т.е. во все страницы соответственно инклюдится $bar, представляющий из себя файл y1.php...

Как бы мне теперь задать этому $бару значения, что скажем для view.php?id=х1, view.php?id=х2, view.php?id=х3 -это y1.php, для view.php?id=х4 и view.php?id=х5 - y2... И т.п...

   
 
 автор: soloway   (31.01.2007 в 14:39)   письмо автору
 
   для: soloway   (31.01.2007 в 14:07)
 

Всё. Всем спасибо.
Проблему решил.

Возможно не очень элегантно, но работает.
Через файл .htaccess, примерно так:
RewriteEngine On
^file1.htm view.php?id=file1&theme=file1
^file2.htm view.php?id=file1&theme=file2
^file3.htm view.php?id=file1&theme=file3


В данном случае <?php include("nav/$id.php"); ?> и <?php include("$theme.php"); ?> работают как надо, инклюдя то что надо, туда куда надо.

Ещё раз всем спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования