Todas las configuraciones "forzadas" con ini_set() se deben definir ANTES de cualquier uso de lo que estés "forzando" . .En tu caso sesiones, tendrás que usar el ini_set() antes de tu session_start() o cualquier otra función o acceso a una sesión.
Luego ..
session.use_trans_sid = 1 .. se supone que PHP va a reescribir tus tag´s HTML de links, formularios .. etc para insertar el SID en ellos. Pero esto depende de si usas: session.use_cookies = 1 . si lo usas a 1 estás propagando el SID en cookies .. así que deberías dejar (o forzar) también esa directiva para que quede a 0 (OFF) y propagar el SID enteramente por el URL y de forma automática por parte de PHP.
Hay casos que PHP no sobreescribe para añadir el SID .. por ejemplo en un:
header("Location: pagina.tal")
tampoco lo hace si usas javascript (window.open .. window.location .. etc)
ni en refrescos automáticos con <meta de refresh ..>
En esos casos debes propagar el SID de forma manual
El SID es una constante de PHP .. así que puedes acceder a ella por su nombre: SID . El SID se compone del nombre de la sesión y del ID de la sesión en curso .. así que también podrías componerlo vía:
Código PHP:
header("Location: nose.php?".session_name().'='.session_id());
Útil este método (de obtener por separado el nombre de la sesión del ID de la sesión) cuando deseas propagar el SID en un campo hidden de un formulario donde harías:
Código PHP:
<input type="hidden" name="<? echo session_name() ?>" value="<? echo session_id() ?>">
Pero también podrías hacerlo por "GET" montando el SID en el action (pagina que apunta) tu formulario:
Código PHP:
<form name="bla" action="nose.php?"<? echo SID ?> method="POST">
(si, .. si a nose.php usas el formulario en method POST .. los datos se enviarán por ese metodo y lo que "montes" en el URL de la llamada al script de proceso: nose.php (action de ese caso) llegaran por GET a dicho script (y los veras por el URL mientras que los del própio formulario como van en POST no los veras dando vueltas por el URL).
Si te finas .. en este último ejemplo usé SID como constante .. Como toda constante de PHP .. su llamada es "SIN" comillas .. sino sería interpretada como una cadena (string) .
Un saludo,