FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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); } 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:
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?>'); } 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 |
#2
|
|||
|
|||
Podrías probar usando el método POST y recibir las variables vía el arreglo global $_POST.
Aquí encontré un ejemplo para usar POST sin formularios, espero te sirva: http://www.faqts.com/knowledge_base/...d/12039/fid/51 Saludos |
#3
|
||||
|
||||
Hola maeyanes, gracias por contestar.
No me queda muy clara tu sugerencia. La ventana emergente se abre desde el cliente (con javascript) mientras que el método que mencionas se ejecutaría desde el servidor. Quizá no sea tan malo pasar el id de la sesión en la llamada a la ventana emergente. A fin de cuentas este id de cualquier forma se encuentra en una cookie en el cliente. Había pensado en usar session_regenerate_id luego del POST de la ventana emergente para que sea distinto cada vez. Seguiré probando. // Saludos |
#4
|
|||
|
|||
Tienes razón, pasé en alto que necesitas hacerlo desde el cliente.
Checa este ejemplo a ver si te sirve: http://www.faqts.com/knowledge_base/...d/1426/fid/129 Saludos... |
|
|
|