Foros del Web » Programando para Internet » PHP »

PHP OO pierdo sesion en a href

Estas en el tema de pierdo sesion en a href en el foro de PHP en Foros del Web. Gente soy un poco nuevo en php pero lei varios post de como usar variables de sesión y creo hacer todo en orden y se ...
  #1 (permalink)  
Antiguo 16/03/2013, 20:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
pierdo sesion en a href

Gente soy un poco nuevo en php pero lei varios post de como usar variables de sesión y creo hacer todo en orden y se me pierde la sesión

probé con session register que es poco recomendado, y sin registrarla como variable global y lo que veo es que funcionan en la siguiente pagina pero cuando desde dicha pagina tengo un link a href a una pagina inicial.html donde embebo el código


<?php
session_start();

if(session_is_registered("id")){
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Bienvenido";
document.getElementById("BtnIniciar").disabled = true;
</script>
<?
}
else{
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Iniciar Sesión";
document.getElementById("BtnIniciar").disabled = false;
</script>
<?
}
?>


o


<?php
session_start();

if($_SESSION["id"]){
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Bienvenido";
document.getElementById("BtnIniciar").disabled = true;
</script>
<?
}
else{
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Iniciar Sesión";
document.getElementById("BtnIniciar").disabled = false;
</script>
<?
}
?>


no tengo el valor de la variable de sesión ID

Alguien sabe a que se puede deber esto ?
  #2 (permalink)  
Antiguo 16/03/2013, 20:35
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: pierdo sesion en a href

A ver si entendí, en las páginas internas te funciona, pero cuando retornas a la principal, no?
es correcto?
  #3 (permalink)  
Antiguo 16/03/2013, 22:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: pierdo sesion en a href

si el tema es así

checklogin.php -> voy a la db y cargo mis variables de sesión

login_success.php -> pregunto si esta la variable de sesión cargada y si lo esta redirecciono a una pagina supongamos xxx.html

dentro de xxx.htlm verifico la sesión para dar un mensaje bienvenido de acuerdo a la sesión que se logueo y hasta aquí todo bien

dentro de xxx.html tengo un <a href="YYY.html">

cuando me redirecciona veo que no tengo la sesión porque aplico el mismo código que en xxx.html para seguir mostrando el nombre y no funciona
  #4 (permalink)  
Antiguo 16/03/2013, 23:23
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: pierdo sesion en a href

Vamos por partes:

luego de login_success.php me decis que redireccionas a un xxx.html.
¿Como haces para verificar que exista sesión en un html?

Y otra pregunta, estos archivos se encuentran todos en el mismo nivel de dominio, no? Notese que no es lo mismo www.dominio.com/archivo.ext que dominio.com/archivo.ext
  #5 (permalink)  
Antiguo 17/03/2013, 08:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: pierdo sesion en a href

lo que hago es

<?php
session_start();

if($_SESSION["id"]){
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Bienvenido";
document.getElementById("BtnIniciar").disabled = true;
</script>
<?
}
else{
?>
<script languaje="javascript">
document.getElementById('BtnIniciar').value ="Iniciar Sesión";
document.getElementById("BtnIniciar").disabled = false;
</script>
<?
}
?>

y el botón que antes me decía Iniciar sesión ahora me dice Bienvenido

es clarisimo el ejemplo

el mismo código lo tengo en YYY.html, pero cuando redirecciono desde XXX.html a YYY.html por medio de un link href y aplico este mismo código, y el botón me dice iniciar sesión en vez de bienvenido, con lo cual en YYY.html pierdo claramente la sesión
  #6 (permalink)  
Antiguo 17/03/2013, 08:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: pierdo sesion en a href

los archivos html estan en la raiz del directorio virtual y los php en una carpeta llamada php bajo el mismo directorio virtual, lo hice asi para separar html de codigo modular php, eso trae algun problema ?
  #7 (permalink)  
Antiguo 17/03/2013, 10:47
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: pierdo sesion en a href

Creo que hay un error de concepto en la estructuración, si podes mostrame el código de login_sucess.php, xxx.html e yyy.html para ayudarte mejor. Así como estas planteando el problema no se entiende y es dificil darte una respuesta que satisfaga.
  #8 (permalink)  
Antiguo 17/03/2013, 11:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: pierdo sesion en a href

creo que el problema es que PHP no es un lenguaje que respete un comportamiento uniforme, conceptualmente una variable de sesión debe permanecer hasta que se destruya la misma, como es en .Net

por obvias razones que entenderás no puedo postear el código completo de lo que estoy implementarlo, voy a revisar eso que acotaste.

Lo que por allí me jode es esas deficiencias que tiene aun el lenguaje PHP, que si le pones un espacio de mas o si no esta en el mismo directorio, me parecen cosas que hacen de este claramente un lenguaje en el que hay que renegar mas que saber implementar una lógica decisional.

Después que le agarre las 2000 vueltas y detalles que tiene voy a poder programar a gusto en el jajaja
  #9 (permalink)  
Antiguo 17/03/2013, 11:35
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: pierdo sesion en a href

Cita:
Iniciado por eduardo_nicolas_cba Ver Mensaje
creo que el problema es que PHP no es un lenguaje que respete un comportamiento uniforme, conceptualmente una variable de sesión debe permanecer hasta que se destruya la misma, como es en .Net

por obvias razones que entenderás no puedo postear el código completo de lo que estoy implementarlo, voy a revisar eso que acotaste.

Lo que por allí me jode es esas deficiencias que tiene aun el lenguaje PHP, que si le pones un espacio de mas o si no esta en el mismo directorio, me parecen cosas que hacen de este claramente un lenguaje en el que hay que renegar mas que saber implementar una lógica decisional.

Después que le agarre las 2000 vueltas y detalles que tiene voy a poder programar a gusto en el jajaja
Un espacio de mas es un espacio de mas, en php o en cualquier otro lenguaje, si no debería estar no hay porque ponerlo. Con respecto a si esta en el mismo directorio o no, no es el problema, una variable de sesion puede propagarse perfectamente entre los directorios, por obvias razones no entre subdominios pero ya es otro tema.

El tema seguramente es que venís de un lenguaje que tiene otra estructura, es lógico que intentes acoplarlo a php, pero .net y php son cosas muy diferentes. Ni mejor ni peor, diferentes.

Saludos

Etiquetas: href, html, pierdo, variables
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 03:48.