Foros del Web » Programando para Internet » PHP »

SESSION no se ve dentro de un div

Estas en el tema de SESSION no se ve dentro de un div en el foro de PHP en Foros del Web. Hola!!, tengo una page donde estoy manejando sessiones, localmente no tengo problema, pero cuando subo la page al servidor no se ve el valor de ...
  #1 (permalink)  
Antiguo 30/08/2010, 09:21
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 8 meses
Puntos: 1
SESSION no se ve dentro de un div

Hola!!, tengo una page donde estoy manejando sessiones, localmente no tengo problema, pero cuando subo la page al servidor no se ve el valor de una session que está dentro de un div, ya verifiqué la congifuración del php.ini y respecto a sessiones estos son los valores:

Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

verifiqué con la configuración que tengo local y la diferencia fue en:

session.auto_start
session.bug_compat_42

local las tengo en "on" y el server tiene valor de "Off"

y en session.save_path que localmente tengo la ruta donde se van a guardar las sessiones y en el server tiene valor "no value".

El problema es específicamente cuando muestro el valor de una sessión que está dentro de un div, porque tengo otra session para autenticación y funciona sin problema.

Alguna idea??, desde ya gracias por su atención y ayuda.
  #2 (permalink)  
Antiguo 30/08/2010, 09:52
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: SESSION no se ve dentro de un div

Pon algo de código.
Usas session_start(); como tienes el register_globals?
Yo creo que esas diferencias, no son el problema, a no ser que no uses session_start(); al principio de cada página.
  #3 (permalink)  
Antiguo 30/08/2010, 11:07
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 8 meses
Puntos: 1
Respuesta: SESSION no se ve dentro de un div

Gracias DooBie, si uso session_start();
y el register_globals lo tengo en off, por lo tanto las variables las recibo como $_GET o $_POST según corresponda.

Como mencioné anteriormente, localmente funciona pero el server no, por ese motivo creo puede ser algo de configuración, pero no sé por dónde.

ah!!, estoy usando ajax para muestre el valor dentro del div.
  #4 (permalink)  
Antiguo 30/08/2010, 11:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: SESSION no se ve dentro de un div

Serenity:

Voy a intentar ayudar. Vos querés mostrar una variable de sesión dentro de un DIV y no aparece? Ese es el problema?
Saludos.


Federico
  #5 (permalink)  
Antiguo 30/08/2010, 16:05
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 8 meses
Puntos: 1
Respuesta: SESSION no se ve dentro de un div

Gracias fede1976, así es. En mi máquina local funciona sin problema pero al subirle en el server no se ven los datos de una sessión que imprime su valor dentro de un div, porque tengo otra session que está como cabecera de la tabla y se ve sin problema, pero la que está dentro del div es la que no se ve.

gracias nuevamente.-
  #6 (permalink)  
Antiguo 30/08/2010, 17:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: SESSION no se ve dentro de un div

Serenity:

Entender bien un problema es la mitad de la solución. Vos decís que en modo local funciona pero en el servidor no, pero luego decís que en el servidor se ve correctamente la variable en la cabecera de la tabla. Si todo esto es así, quiere decir que están funcionando bien las sesiones, porque de lo contrario no podrías ver ninguna variable de sesión en la página. Por lo tanto, el problema puede estar en el DIV, en la sintáxis HTML que estás usando. Decíme si estoy razonando bien el problema y continuamos.
Saludos.



Federico
  #7 (permalink)  
Antiguo 30/08/2010, 17:48
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: SESSION no se ve dentro de un div

A mi me resultó dificil entender qué es "el valor de una session que está dentro de un div". Si solo se trata de imprimir un texto/numero en un div, y sos capaz de imprimir ese mismo texto a principio de pagina... no hay razón para desconfiar de las variables de SESSIOn.

En fin, para hacer debug, me parece muy bueno imprimir las variables en la cabecera. A veces, hacer un: print_r($_SESSION);
  #8 (permalink)  
Antiguo 03/09/2010, 12:46
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 8 meses
Puntos: 1
Respuesta: SESSION no se ve dentro de un div

Gracias por sus respuestas, y disculpen me tuve que ausentar.

Si, creo no he planteado bien la situación.

Trabajo con dos sessiones, pero una la llamo dentro de un div porque se ejecuta dentro de una pagina independiente que llamo con ajax, les comento que localmente funciona bien, pero en el servidor donde va a esta hospedada no se ve el valor de esta session.

Hice un ejemplo para ver que es lo que pasa y efectivamente lo que no se resuelve es esa session que se llama con ajax y se carga en un div.

este es el ejemplo:

prueba.php

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript" src="xmlhttprequest.js"></script>
  4. </head>
  5. <body>
  6.            
  7.             <div id="demo" style="width:600px;">
  8.                 <div id="demoArr">Esto es para ver que llame bien ajax</div>
  9.                 <br>
  10.                 <div id="demoAba">
  11.                     <button type="button" onclick="traerDatos('ip')">IP</button>
  12.                     <button type="button" onclick="traerDatos('time')">Hora</button>
  13.                 </div>
  14.             </div>
  15.                         <?
  16.                           $_SESSION['borrar']="Nombre a mostrar en la session";                          
  17.                         ?>
  18.                          <button type="button" onclick="nombre()">Nombre</button>
  19.                         <div id="divnombre">Aqui va el valor de la session</div>
  20.            
  21. </body>





xmlhttprequest.js

Código Javascript:
Ver original
  1. function nuevoAjax()
  2. {
  3.     var xmlhttp=false;
  4.     try
  5.     {
  6.                 xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  7.     }
  8.     catch(e)
  9.     {
  10.         try
  11.         {
  12.                         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  13.         }
  14.         catch(E) { xmlhttp=false; }
  15.     }
  16.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
  17.  
  18.     return xmlhttp;
  19. }
  20.  
  21.  
  22. function nombre()
  23. {
  24.     var capa=document.getElementById("divnombre");
  25.                 var ajax=nuevoAjax();  
  26.     capa.innerHTML="Cargando...";
  27.                 ajax.open("GET", "nombre.php", true);
  28.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  29.             ajax.send(null);
  30.  
  31.     ajax.onreadystatechange=function()
  32.     {
  33.         if (ajax.readyState==4)
  34.         {
  35.                         capa.innerHTML=ajax.responseText;
  36.         }
  37.     }
  38. }

nombre.php

Código PHP:
Ver original
  1. <?
  2.   echo $_SESSION['borrar'];
  3. ?>
  #9 (permalink)  
Antiguo 03/09/2010, 14:18
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: SESSION no se ve dentro de un div

Cita:
Trabajo con dos sessiones, pero una la llamo dentro de un div porque se ejecuta dentro de una pagina independiente que llamo con ajax, les comento que localmente funciona bien, pero en el servidor donde va a esta hospedada no se ve el valor de esta session.
Todas la paginas deben comenzar con session_start()
  #10 (permalink)  
Antiguo 03/09/2010, 20:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 16 años, 11 meses
Puntos: 3
Respuesta: SESSION no se ve dentro de un div

Serenity:

Estuve analizando todo el código y me parece que está perfecto. No encuentro ningún error.
Lo único que se me ocurre decirte es que no entiendo porque incrustás este código:

<?
$_SESSION['borrar']="Nombre a mostrar en la session";
?>

en ese lugar de prueba.php. De todas maneras, no es importante. Te hago una pregunta: usás session_start() en prueba.php ? En ese archivo también debe estar esta instrucción, de lo contrario no podés hacer uso de la matriz $_SESSION
Otra cosa más: usá este código en vez del que estás utilizando actualmente, creo que el que te paso es más directo:

function nuevoAjax () {
if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}


Voy a probar todo el código para ver dónde se encuentra el error, porque en principio, no veo nada mal.
Saludos.



Federico

Etiquetas: session
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 12:57.