Si, el método funciona, de hecho es lo que uso para propagar la sesión entre dos páginas. Como por ejemplo estas.
Pagina que crea la sesion:
Código PHP:
<?php
session_name('MiSesion');
session_start();
$_SESSION['VARIABLE'] = "ejemplo_cadena";
echo session_id(),"<br><br>";
echo session_name(),"<br><br>";
?>
<html>
<body>
<p><a href="php_2.php?<?echo session_name()."=".session_id()?>">
Ir a la pagina a propagar</a></p>
</body>
</html>
Página que recibe la sesion y comprueba si se envian las variables de sesion.
Código PHP:
<?php
session_name('MiSesion');
session_start();
echo $_SESSION['VARIABLE'],"<br><br>";
echo session_id(),"<br><br>";
echo session_name(),"<br><br>";
?>
<html>
<body>
<p><a href="php_2.php?<?echo session_name()."=".session_id()?>">
Recargar esta misma pagina</a></p>
<p><a href="php_1.php?<?echo session_name()."=".session_id()?>">
Volver a la pagina llamante</a></p>
</body>
</html>
De esta forma consigo propagar la sesión, es una forma similar a la que apuntaste supongo.
Pero el problema es que yo tengo una página principal que se divide en marcos. Tengo que iniciar la sesión en la pagina principal (aquella que contiene el frameset) y luego usar las variables de sesión creadas en un marco concreto.
Nose si el metodo a emplear será diferente entre marcos. En la url no aparece el id como en el caso anterior, ¿puede ser por esto por lo que falla?. ¿Como hago la propagación entre marcos?