Foros del Web » Programando para Internet » PHP »

Usar $_GET o $_SESSION

Estas en el tema de Usar $_GET o $_SESSION en el foro de PHP en Foros del Web. ¿Cuándo deberia usar una y otra? En una página que intercambia variables mediante la url constantemente y muestra información dependiendo de esas variables, ¿qué es ...
  #1 (permalink)  
Antiguo 11/06/2015, 11:52
Avatar de Suarsan  
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 8 meses
Puntos: 0
Usar $_GET o $_SESSION

¿Cuándo deberia usar una y otra?

En una página que intercambia variables mediante la url constantemente y muestra información dependiendo de esas variables, ¿qué es más seguro? ¿Debería usar session solo para usuario y contraseña o tambien para datos auxiliares que se pasan entre páginas?

Si el usuario le da al botón atrás del navegador, ¿el usar $_SESSION puede ser contraproducente?


PD: En concreto, tengo el problema de que quiero que un href sea dinámico, añadiéndole un id para que al pulsar el boton envíe una u otra información. EN conreto un id, [ ?ID="id" ]

Última edición por Suarsan; 11/06/2015 a las 11:59
  #2 (permalink)  
Antiguo 11/06/2015, 12:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Usar $_GET o $_SESSION

A priori, no veo la necesidad de guardar el nombre de usuario y contraseña en una sesión. Para identificarse, se utiliza el método POST para evitar que esos datos se muestren en la URI, pero luego ya no son necesarios pues se supone que se creará una sesión luego de que el usuario se identifique correctamente.

También debes de recordar que la sesión puede mantenerse de página en página utilizando la función session_start().

Utiliza las sesiones para cuando desees reutilizar datos asociados al usuario, como suele ser con los "carritos de compra".

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 11/06/2015, 12:10
Avatar de Suarsan  
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Usar $_GET o $_SESSION

Cita:
Iniciado por Alexis88 Ver Mensaje
A priori, no veo la necesidad de guardar el nombre de usuario y contraseña en una sesión. Para identificarse, se utiliza el método POST para evitar que esos datos se muestren en la URI, pero luego ya no son necesarios pues se supone que se creará una sesión luego de que el usuario se identifique correctamente.

También debes de recordar que la sesión puede mantenerse de página en página utilizando la función session_start().

Utiliza las sesiones para cuando desees reutilizar datos asociados al usuario, como suele ser con los "carritos de compra".

Saludos
Gracias, hasta ahi bien. Eso lo entiendo. Pero te pongo un ejemplo. Imagina que un usuario tiene una bandeja de entrada en la que gestiona "cosas", cada una de esas cosas tiene su id asociado. Entrando en cada "cosa" puedes ver su informacion, su titulo, descripcion, editar sus parametros, etc...

Para mostrar el nombre, descripcion, parametros, etc, correctos, lo hago mediante su id, ese id, ¿lo recojo por la url mediante GET o lo guardo en la sesion y luego lo rescato? ¿Qué es mejor?
  #4 (permalink)  
Antiguo 11/06/2015, 12:19
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Usar $_GET o $_SESSION

Como te comenté, es mejor usar sesiones cuando vas a reutilizar los datos. Podrías pasarlos mediante un cadena de consulta, pero no creo que sea necesario, además, la sesión debe de estar relacionada al usuario y para eso puedes usar su código identificador, de manera que ya tienes el dato ahí, solo utilízalo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: session, usar, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:41.