Создание страниц внутри друг друга

estuaries

Новичок
Создание страниц внутри друг друга

Доброго временни суток. Есть такая дилемма - существует страница, допустим, test.php. Содержание страницы такое:

===============
Моя семья:

<a href="?show=family&mother">Мама</a>
<a href="?show=family&father">Папа</a>
<a href="?show=family&sister">Сестра</a>

===============


Если нажать на ссылку, то откроется та же самая страница.
А мне нужно, чтобы открылась другая страница, например
test.father.php, где содержание файла будет такое:

=================

Страница моего папы:

Мой папа качок!

=================

Не поскажете, как это сделать?
 

Groove

Новичок
PHP:
<?  
  include_once('header.php');
  $who = (isset($_GET['who'])) ? trim(strip_tags($_GET['who'])) : '';
  switch ($who){
    case 'mother':
      include_once('test.mother.php');
    break;
    case 'father':
      include_once('test.father.php');
    break;
    case 'sister':
      include_once('test.sister.php');
    break;
    default:
    ?>
      <a href="?show=family&who=mother">Мама</a>
      <a href="?show=family&who=father">Папа</a>
      <a href="?show=family&who=sister">Сестра</a>  
    <?
  }
  include_once('footer.php');
?>
 

ForJest

- свежая кровь
PHP:
<?   
require_once('header.php'); 
$who = trim(strip_tags((string)@$_GET['who'])); 

$pages = array(
     'mother' => 'test.mother.php',
     'father' => 'test.father.php',
     'sister' => 'test.sister.php',
);
if (isset($pages[$who]))
{
     require_once($pages[$who]);
}
?> 
    <a href="?show=family&who=mother">Мама</a> 
    <a href="?show=family&who=father">Папа</a> 
    <a href="?show=family&who=sister">Сестра</a>   
<? 

require_once('footer.php'); 
?>
 

Фанат

oncle terrible
Команда форума
А я бы сделал так :)
PHP:
<? 
include_once('header.php'); 
if (isset($_GET['who'])) $who=$_GET['who']; else $who='';
$who="pages/".basename($who).".php";
if (is_readable($who)) { 
  readfile($who); 
} else { 
?> 
  <a href="?show=family&who=mother">Мама</a> 
  <a href="?show=family&who=father">Папа</a> 
  <a href="?show=family&who=sister">Сестра</a>    
<? 
} 
include_once('footer.php'); 
?>
Люблю, когда кода поменьше, а особенно - когда можно менять его как можно меньше при добавлении новых страниц =)
 

ForJest

- свежая кровь
Запихай скрипт следующего содержания в каталог pages и наслаждайся
PHP:
Фанат облажался
<?
echo 'Нет! Фанат не облажался';
?>
-~{}~ 06.11.05 10:22:

У меня в браузере написано что ты облажался. Техника не умеет врать :)
<? if (isset($_GET['who']) AND is_readable("pages/".basename($_GET['who']))) { readfile("pages/".basename($_GET['who'])); } else { ?> <a href="?show=family&who=mother">Мама</a> <a href="?show=family&who=father">Папа</a> <a href="?show=family&who=sister">Сестра</a> <? } ?> http://test/inc.php?who=1.php
 

Profic

just Profic (PHP5 BetaTeam)
Уж коли пошла такая пьянка... :)
[nophp]
<a href="test.mother.php">Мама</a>
<a href="test.father.php">Папа</a>
<a href="test.sister.php">Сестра</a>
[/nophp]
 

ForJest

- свежая кровь
Ну и всем новичкам реккомендация - проверяйте код, перед тем как его выкладывать на форуме :)
 

estuaries

Новичок
О! Работает скрипт ForJest! Спасибо всем огромное! Вы мне жизнь спасли!!!! =))
 

Фанат

oncle terrible
Команда форума
всегда приятно, когда спасаёшь кому-то жизнь =)
 

estuaries

Новичок
Упс! Тут такая лажа случалсь, что короче при исполнении скрипта в файле тексты друг на друга наслаиваються. Что делать?
 

Фанат

oncle terrible
Команда форума
не тупо хватать код, а попытаться понять - как он работает.
и на его основе сделать свой, который делает то, что тебе нужно

-~{}~ 06.11.05 15:13:

ты вообще в курсе, что такое HTML?
 

estuaries

Новичок
прикинь, в курсе... нет, мне нужно чтобы предыдущая информация стиралась, и открывалась новая. Вообще, как создавать динамичекие страницы. У меня в мануале написано, правда не работает... ну как?
 

Фанат

oncle terrible
Команда форума
объясни толком, что у тебя там на что наслаивается?
если использовать код, который тебе дали, то страница при клике на ссылку должна перезагружаться. заново. То есть никакого "старого" текста там вообще не должно быть.
а загружаться должен только тот, который ты выбрал по ссылке.

поэтому твоё описание смахивает больше на сказку
 
Сверху