Foros del Web » Programando para Internet » PHP »

Perdida de session PHP al redireccionar con href

Estas en el tema de Perdida de session PHP al redireccionar con href en el foro de PHP en Foros del Web. Hola a todos: Les escribo ya que tengo un problemita que he tratado de solucionar y no he podido. Lo que pasa es que uso ...
  #1 (permalink)  
Antiguo 25/09/2012, 12:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 13 años, 5 meses
Puntos: 1
Perdida de session PHP al redireccionar con href

Hola a todos:

Les escribo ya que tengo un problemita que he tratado de solucionar y no he podido. Lo que pasa es que uso sessiones php en un sitio y al redireccionar con un enlace href en una parte de éste, pierdo los valores de autenticación del usuario ( a veces, no siempre ocurre eso, ej. cuando borro todo el historial o es primera vez que el usuario se autentica me pasa esto). He leído en las facs de foros del web que debo usar session_write_close() para verificar que los valores son guardados antes de redireccionar, pero no me ha resultado, session_start() esta al principio antes de todo, no sé que más tengo que tener en cuenta para que todo funcione correctamente.

Por favor si me pueden ayudan con su experiencia e ideas de que puede estar pasando estaré muy agradecida.

Saludos :)
  #2 (permalink)  
Antiguo 25/09/2012, 14:38
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 9 meses
Puntos: 220
Respuesta: Perdida de session PHP al redireccionar con href

seria bueno que pongas el codigo de como estas haciendo tanto el registro de tus sessiones y las validaciones
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 27/09/2012, 00:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Perdida de session PHP al redireccionar con href

Dradi7: Gracias por responder.

Bueno, les cuento que he estado haciendo varias pruebas más pequeñas y hace un rato probé el siguiente código:
pagina 1:
<? session_start();
$_SESSION['hello']="hello world";
?>
<html>
<head>
</head>
<body>
<? echo "la variable antes de redireccionar:".$_SESSION['hello']; ?>
<br>
<a href="http://sitio/dos.php">enlace</a>
</body>
</html>

pagina dos.php:

<? session_start();
?>
<html>
<head>
</head>
<body>
<? echo "la variable:".$_SESSION['hello'];
?>
</body>
</html>

Al parecer el problema está en la página 1, ya que utilizo una ruta estática en el enlace, pues al poner en el enlace una ruta dinámica como <a href="./dos.php">enlace</a> no me ha generado nuevamente el problema. Lo que yo imagino es que la primera vez (luego de borrar historial o cerrar y abrir denuevo el navegador) el navegador reconoce a la página como un enlace externo motivo por el cual no conserva la session en cambio si la ruta es dinámica sugiere que la página pertenece al mismo sitio. Si esto es así me parece extraño que luego si recargo la página si conserve la session... Espero haber dado con el problema...por favor si alguien sabe que me explique por qué pasa eso?.

Saludos a todos.
  #4 (permalink)  
Antiguo 27/09/2012, 00:31
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 4 meses
Puntos: 168
Respuesta: Perdida de session PHP al redireccionar con href

No uses <?, usa <?php para iniciar php
  #5 (permalink)  
Antiguo 27/09/2012, 09:47
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Perdida de session PHP al redireccionar con href

Cita:
Iniciado por rodrigo791 Ver Mensaje
No uses <?, usa <?php para iniciar php
esto es configurable desde el php.ini se puede usar o no segun el gusto del programador o como lo haya definido un hosting por ejemplo.

amigo en la pagina dos.php hace
var_dump($_SESSION);
y mostranos el resultado
  #6 (permalink)  
Antiguo 27/09/2012, 09:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 3 meses
Puntos: 35
Respuesta: Perdida de session PHP al redireccionar con href

Cita:
Iniciado por Patriarka Ver Mensaje
esto es configurable desde el php.ini se puede usar o no segun el gusto del programador o como lo haya definido un hosting por ejemplo.
mm que tal tengas tu los short tags activados realices tu programa y luego en el servidor no se acepten...
Mejor a lo seguro siempre utilizar <?php ?>
  #7 (permalink)  
Antiguo 27/09/2012, 09:53
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Perdida de session PHP al redireccionar con href

Cita:
Iniciado por maxpower2008 Ver Mensaje
mm que tal tengas tu los short tags activados realices tu programa y luego en el servidor no se acepten...
Mejor a lo seguro siempre utilizar <?php ?>
obviamente, por eso es a criterio segun donde se este trabajando
  #8 (permalink)  
Antiguo 27/09/2012, 09:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 3 meses
Puntos: 35
Respuesta: Perdida de session PHP al redireccionar con href

Cita:
Iniciado por Patriarka Ver Mensaje
obviamente, por eso es a criterio segun donde se este trabajando
Por eso mejor prevenir e ir a lo seguro.
  #9 (permalink)  
Antiguo 27/09/2012, 10:00
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 9 meses
Puntos: 220
Respuesta: Perdida de session PHP al redireccionar con href

aunque también depende de la versión del php pero como menciona maxpower2008 es mejor irse a lo seguro porque si cambia de version de php por ejemplo dejara de funcionar todo

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: href, perdida, redireccionar, session, usuarios
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 19:22.