Foros del Web » Programando para Internet » PHP »

Variables de sesión tomadas como normales

Estas en el tema de Variables de sesión tomadas como normales en el foro de PHP en Foros del Web. Buenas a todos Esto solo me pasa en Dinahosting por el momento. Desconozco si tengo que habilitar o deshabilitar alguna función del fichero php.ini Cuando ...
  #1 (permalink)  
Antiguo 29/03/2011, 08:14
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Variables de sesión tomadas como normales

Buenas a todos

Esto solo me pasa en Dinahosting por el momento. Desconozco si tengo que habilitar o deshabilitar alguna función del fichero php.ini

Cuando en el código php intento evaluar la existencia de una variable definida en el mismo, como por ejemplo $usuario, si existe una creada de sesión, como por ejemplo $session_['usuario'], interpreta que son la misma y toma su valor. Por supuesto nunca se igualaron anteriormente

El código ha sido probado en otros alojamiento pero con este server no lo había usado.

Gracias de antemano y un saludo a todos.
  #2 (permalink)  
Antiguo 29/03/2011, 08:31
Avatar de humbero12  
Fecha de Ingreso: abril-2009
Ubicación: Cereté, Colombia
Mensajes: 53
Antigüedad: 15 años
Puntos: 4
Respuesta: Variables de sesión tomadas como normales

Para usar sesiones primero tienes que iniciarla con session_start(); , para capturas sesiones se usa es $_SESSION['nombredesession'] y no $session_['nombredesession'], para registrar una sesion primero usas session_register("nombredelasesion"); y luego $_SESSION["nombredelasesion"]='cualquiercosa';
para cerrar una session session_destroy()
__________________
Sigueme en twitter @humbero12
Blog #cazacontenidos
  #3 (permalink)  
Antiguo 29/03/2011, 08:31
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Variables de sesión tomadas como normales

Pone el codigo mejor, asi no entendemos nada
  #4 (permalink)  
Antiguo 29/03/2011, 08:37
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Variables de sesión tomadas como normales

Gracias por la atención

Perdón, escribí mal, quise decir $_session['usuario'] que la toma como si fuera $usuario. Como os comenté funciona correctamente en otros servidores, cosa que en este es la primera vez que me sucede.

Voy a intentar pegar un trozo de código.

Un saludo.
  #5 (permalink)  
Antiguo 29/03/2011, 08:54
Avatar de humbero12  
Fecha de Ingreso: abril-2009
Ubicación: Cereté, Colombia
Mensajes: 53
Antigüedad: 15 años
Puntos: 4
Respuesta: Variables de sesión tomadas como normales

verifica si estan habilitada la funciones de sesion
Código PHP:
Ver original
  1. <?php
  2. ?>

o bien
Código PHP:
Ver original
  1. <?php
  2. if(function_exists("session_start")){
  3. echo "Habilitado";
  4. }
  5. else{
  6. echo "Deshabilitado";
  7. }
  8. ?>
__________________
Sigueme en twitter @humbero12
Blog #cazacontenidos
  #6 (permalink)  
Antiguo 29/03/2011, 08:58
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Variables de sesión tomadas como normales

Habilitado humbero12 gracias
  #7 (permalink)  
Antiguo 29/03/2011, 17:50
Avatar de humbero12  
Fecha de Ingreso: abril-2009
Ubicación: Cereté, Colombia
Mensajes: 53
Antigüedad: 15 años
Puntos: 4
Respuesta: Variables de sesión tomadas como normales

Haz una prueba a ver si funcionan las funciones en el servidor, crea un archivo test.php
Código PHP:
Ver original
  1. <?php
  2. if(!isset($_SESSION['test'])){
  3. echo "La sesion test no esta registrada";
  4. $_SESSION['test']='ok';
  5. }
  6. else{
  7. echo "La sesion test esta registrada y su valor es ".$_SESSION['test'];
  8. }
  9. ?>

Al ejecutar el script por primera ves como la sesion test no existe entonces el mensaje que muestra es "La sesion test no esta registrada" y registra la nueva sesion con el valor de "ok", cuando vuelvas a ejecutar el script debe mostrar el mensaje "La sesion test esta registrada y su valor es ok". Si pasa esto el servidor no tiene problemas con las sesiones
__________________
Sigueme en twitter @humbero12
Blog #cazacontenidos
  #8 (permalink)  
Antiguo 29/03/2011, 18:54
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Variables de sesión tomadas como normales

Esto pasa normalmente cuanto tienes la directiva register_globals activada, puedes intentar crear un archivo php.ini para desactivarla:

php.ini
Código:
register_globals=off
Debes crear una copia de este archivo en cada carpeta donde haya archivos .php que se ejecutan directamente desde el navegador (no incluidos) y que maneje sesiones.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 30/03/2011, 00:32
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Variables de sesión tomadas como normales

humbero12
Realicé el procedimiento tal como me indicaste y es exactamente tal como explicas.

Triby
En dinahosting tienes un panel, gestiondecuenta.com, donde puedes editar el fichero php.ini pero aunque he realizado los cambios varias veces y esperado horas no resultan efectivos cuando hago un phpinfo();

Muchas gracias por vuestra atención.
  #10 (permalink)  
Antiguo 30/03/2011, 03:59
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Variables de sesión tomadas como normales

Buenas

He conseguido mediante .htaccess y alguna configuración en el panel de hosting que me permita hacer modificaciones.

Código:
php_flag register_globals off
php_flag session.use_trans_sid off
php_flag display_errors on
php_value suhosin.session.encrypt off (tiene el parche instalado)

Realicé una prueba con este código y siempre obtengo primero "no" y segundo "si", aunque actualice la página. Nunca se me propaga la sesión..

Código PHP:
<?
session_start
();
echo isset(
$_SESSION['prueba'])?'yes prueba<br/ >':'no prueba<br/ >';
$_SESSION['prueba'] = 'ok';
echo isset(
$_SESSION['prueba'])?'yes prueba<br/ >':'no prueba<br/ >';
?>
Gracias por vuestra atención
Un saludo

Etiquetas: sesión, 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 11:08.