Консультация № 74154
05.02.2007, 00:33
0.00 руб.
0 2 2
Доброго времени суток!
Вопрос такого плана - есть стартовая страница index.php.
Каркас страницы - таблицы.
Центральная область - iframe.
Мне надо, что бы в iframe отображался файл, подгружемый в зависимости от нажатой ссылки в меню.

Рассматриваю такой вариант написания - при нажатии на любую из ссылок в области меню сайта, некой переменной будет передаваться какое-то значение, затем будет в этом же окне заново перегружаться эта страница, а значение, полученное при нажатии на ссылку в меню должно передаваться в iframe в виде генерируемой ссылки, и начинает подгружаться в iframe соответствующий файл по этой генерируемой ссылке. Возможно ли такое? Получается своего рода рекурсия. Конечно, я думал, что значение переменой можно сохранить в файл, а потом просто при загрузке стартовой страницы читать его, но что тогда делать с обнулением, или, того хуже - при заходе 2-ух и более человек одновременно получается чтение будет с одного файла. Отсюда идёт вывод - использовать кукис (не умею) или определять ай-пи каждого пользователя и создавать отдельный файл (а если их тысяча зайдёт одновременно?), кукис - более рационально. Как передать в iframe соответствующую ссылку - реализация простая, просто укажу пхп-файл в ссылке для iframe, который и будет генерировать эту ссылку, зависящую от нажатия меню (путём чтения переменной). Коротко говоря - является ли такой вариант нормальным, и если да - как лучше это реализовать? И если можно такой вариант - помогите с кодом, пожалуйста.
Заранее спасибо за Ваши подробные и толковые ответы.

Обсуждение

Неизвестный
05.02.2007, 09:14
общий
это ответ
Здравствуйте, VeRTeX!
Совершенно обычный способ, только даже iframe здесь не нужен. В навигации делаете ссылки вида <i>index.php?page=downloads</i>, а в том месте страницы, куда нужно вставить содержимое страницы, пишете так:
<i><?php
if ($page == "downloads") { include("downloads.html"); }
?></i>
В каталоге со скриптом соответственно должен находиться файл downloads.html. Если условие выполнится, то в текущее место будет включена эта страница. Таким же образом сделайте для всех страниц. А если файлы с содержанием страниц и значения параметра page называть одинаково, то всё будет работать одной строкой:
<i><?php
include($page.".html");
?></i>
Желаю удачи!
Неизвестный
05.02.2007, 10:52
общий
это ответ
Здравствуйте, VeRTeX!
Если само меню не изменяется в зависимости от выбраной ссылки, то Вам надо просто указать в iframe параметр name=имя_фрейма, а в ссылках писать target=имя_фрейма. Если меняется, то для реализации Вашего способа подправте код из предыдущего поста - вместо
include($page.".html");
поставте
echo ‘<iframe src=‘.$page.‘.html>‘;
или
echo ‘<iframe src=showpage.php?content="‘.$page.‘">‘;
Форма ответа