Ver Mensaje Individual
  #1  
Antiguo 09-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Paso de sesiones o como editar datos en ventanas emergentes

Hola,

Supongan que tengo un script personas.php que muestra una lista de personas.

Cada elemento en la lista tiene un enlace:

<a href='javascript: editar(3456)'>Juan de las Pestañas</a>

La función js editar abre una ventana emergente para editar los datos de la persona:


Código:
function editar(id)
{
  window.open('editar_persona.php?id=' + id);
}
El script editar_persona.php consulta a la base de datos para obtener la información de la persona asociada al id que se le pasa como parámetro.

Hasta aquí todo muy bien

El problema empieza cuando hay que meterle seguridad al asunto.

Digamos que todos mis scripts comienzan así:


Código PHP:
session_start();
if (!isset(
$_SESSION['usuario']))
  die(
'no ha iniciado sesión en el sistema'); 
La cuestión es que la ventana emergente ya no reconoce la sesión de la ventana con la lista de personas y por tanto actúa como si no se hubiera iniciado sesión en el sistema.

Lo único que se me ha ocurrido es pasar el id de la sesión en el enlace. Este id lo obtengo con session_id() al comienzo del script personas.php y formo el enlace en la función editar():


Código:
function editar(id)
{
  window.open('editar_persona.php?id=' + id + '&sid=<?=$sid?>');
}
y el script editar_persona.php usa este id para abrir la sesión con lo cual ya me reconoce la sesión de la ventana de personas.

Sin embargo el id de la sesión queda a la vista de todo el mundo en el código html de personas.php y no sé qué tan grave es esto.

¿De qué manera podría manejarse esta situación?

// Gracias
Responder Con Cita