Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/06/2004, 09:46
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Estos "forzados de configuración" que haces .. DEBES! hacerlos antes de iniciar la sesión vía session_start() y en todos los scripts que uses sesiones.

Código PHP:
ini_set("session.use_cookies","0"); 
ini_set("session.use_trans_sid","1"); 
Y esta directiva:
Código PHP:
ini_set("session.name","rpmfsid"); 
debes usar:
Código PHP:
session_name("nombre_sesion"); // el nombre de la sesión es completamente opcional .. por defecto PHP le dá un nombre que lo define en su php.ini si es que no usas tu uno y lo "seteas" con esa función.
session_start(); 
Es decir . .primero se define el nombre de la sesión y luego se "inicia" o "continua" con la sesión activa de nombre (el que le distes).

Luego ... viendo como piensas propagar el SID (por el URL ya que desactivas las cookies para la propagación del SID) .. la directiva:

session.use_trans_sid = 1

NOOOO incrustra el SID en redireccionamientos tipo (tampoco lo hace en javascript: window.location .. window.open .. etc):

header("Location: index.php?msg=6");

ahí tendras que propagar el SID tu mismo a mano en tu código:

Código PHP:
header("Location: index.php?msg=6".SID); 
(SID es una constante .. no va entre comillas. También puedes obtener el SID usando: session_name().'='.session_id() )

Y .. fijate lo que hace "header("location") .. " redireciciona tu script a otra página, mejor dicho "le indicará" al navegador (cliente) que cambie la página .. pero eso simpre despues de que termine la ejecución de tu código .. así que dependiendo de los condicionales que hagas por el camino desde ese header() hasta el final .. así se comportará tu script. Lo ideal es usar:

header("Location: ...");
exit;

Exit para terminar la ejecución del escript ahí mismo. Y .. "OJO" que no es que despues de todo "header()" tenga que existir el "exit" sino sólo en el caso concreto de un redireccionamiento que es lo que hace la cabecera HTTP: Location.

-*----------------

Sobre cookies:
setcookie("rpmforos",$value,time()+3600,"sess/");

El parámetro que ahí indicas "sess/" no sé que piensas que va hacer .. Pero ese parámetro define el ambito de validez de esa cookie .. Si lo usas así sólo podrás obtener esa cookie que sea creada y accedida desde ese tal directorio "sess/". Ahí se usa normalmente "/" para que la cookie la puedas crear y leer desde cualquier página de tu sitio ..

-*-------------------------

Otro detalle:
Código PHP:
HeaderPage("5","index.php?user=".$_SESSION['nombre']."","Redireccionando ..."); // Esta función me redirecciona a la pagina indicada haciendo uso de los META REFRESH 
  

¿para que haces user=al valor de una variable de sesión y lo propagas por el URL? .. NO tiene sentido si ese valor es una variable de sesión .. Para eso están las sesiones. En tu index.php tendrías que usar directamente el valor de: $_SESSION['nombre'] en lugar de andar propagando un valor de una variable que YA tienes en la sesión.


Un saludo,