Hola,
La solucion PHP seria que el fichero que contiene el frameset aceptase por URL un parametro indicandole que pagina cargar en el frame 2. Por ejemplo:
index.php?p=b
y en index.php
Código PHP:
<frameset ....>
<frame name="2" src="<?php
$paginas=array('a'=>'a.htm','b'=>'b.htm'); // array asociativo con todas las posibles paginas
$pagina='a.htm'; //inicializamos con la pagina por defecto
if (isset($_GET['p'])) {
// miramos que el parametro exista como indice en el array de paginas
if (in_array($_GET['p'],$paginas)) {
$pagina=$paginas[$_GET['p']];
}
}
echo $pagina;
?>">
</frameset>
Saludos
PD: En el foro de javascript te podran explicar como puedes hacer que enlazando a b.htm te carge el index.htm con un parametro para que carge b.htm en el frame.