Traditionally with frames you load a "banner.html" into the top frame, a "menu.html" into the left frame and "main.html" into the mainbody frame. Then you would specify the links in the menu to load a page with the body frame as the target.
But now you want to get tricky and load a new menu and a new body when the user clicks on something in the menu, right?
(he-he-he) Traditional thinking won't help you now...
What you do is control the whole thing through the frame page (ie 'index.php') the page that has all your frame specifications. What you do is specify the links in the menu differently. Instead of specifying:
<A HREF="page001.php" TARGET="mainbody">Menu Option One</A>
or something to that affect, specify something like this:
<A HREF="index.php?page=page001.php" TARGET="_top">Menu Option One</A>
This will cause the same frame page to be called for every menu option, but with a "page" variable being set. Then in that script you can put stuff at the top like:
<?php
// default variables
if (!$page) {
$page="splash.php";
$menu="menu000.php";
}
// prime varables according to menu selection from previous display
else {
if ($page=="page001.php") {
$menu="menu001.php";
}
if ($page=="page002.php") {
$menu="menu002.php";
}
// etc. and so on...
}
?>
If you want (or need) you can even pass variables to the $page and $menu scripts the same way you passed $page to this script; just append the "?variable=value" type stuff to the variables in the above assignments.
Now you can just put in the HTML for your frame definitions, only you substitute the $menu and $page variables for the SRC attributes:
<FRAME NAME="menu" SRC="<? print $menu; ?>">
and...
<FRAME NAME="mainbody" SRC=<? print $page; ?>">
So the same script will get called each time and reload *all of your frames, but since the banner page will be cached this shouldn't even be noticeable.
HTH
-- Rich Rijnders
-- Irvine, CA US