Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2018
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Valor $_SESSION conocido en LOCAL y desconocido al ejecutarse en servidor

Hola, tengo una web que funciona bien en LOCAL y también en un servidor de “000webhost” donde la subí para probar, ahora la he cambiado a un servidor de HOSTALIA, y tengo el siguiente problema con la variable $_SESSION:

Tengo un fichero INDEX.PHP donde se identifica el usuario y guardo las variables de $_SESSION
Código PHP:
$_SESSION['idusuario']  = $nid;     
$_SESSION['idnivel']     = $nivel;    
// Para comprobar que no están vacíos, he puesto que al saltar a la página menú, muestre estos valores en la URL 
header("Location: menu.php?id=$nid&nivel=$nivel "); 
En el fichero MENU.PHP, se comprueba que existe la variable y no está vacía.

Código PHP:
<?php 
session_start
(); 
if(!isset(
$_SESSION['idusuario']) && empty($_SESSION['idusuario']))
{
$idusuario   “kk”
$idnivel       “kk”;
header("Location: index.php");
} else  { 
$idusuario   $_SESSION['idusuario']; 
$idnivel     $_SESSION['idnivel'];     
}
Pues bien, esto me funciona perfectamente en LOCAL y en el Hosting gratuito de 000webhost, pero al instalar la web en Hostalia, las variables $idusuario y $idnivel toman el valor “KK” y en vez de saltar a index.php continua ejecutándose el fichero menú.php como si nada, compruebo las variables que le he pasado por URL y son correctas. id=6 y nivel=5.

Como digo en LOCAL y en 000webhost, los valores de $_SESSION se obtienen correctamente.

phpMyAdmin 4.0.9
MySQL 5.5.61

Un saludo y muchas gracias por vuesta atención
Jose Manuel García
Responder Con Cita
  #2  
Antiguo 13-11-2018
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Me chirría un tanto la siguiente condición:

Código PHP:
if(!isset($_SESSION['idusuario']) && empty($_SESSION['idusuario'])) {


¿No debería ser un "OR" en lugar del "AND"? Es decir, algo así:

Código PHP:
if(!isset($_SESSION['idusuario']) || empty($_SESSION['idusuario'])) {


__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-11-2018
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Smile

Gracías por responder, pero parece que ese no es el problema principal, aunque creo que tenias razón en cambiar && por ||. Lo he probado y sigue igual.

Como decia, todo funciona bien en localhost y en un servidor “000webhost”, pero al llevar la pagina al servidor de Hostalia me ha dado este problema. Y por lo que voy leyendo en Internet, creo que el problema podría tener relación en como se gestionan las $_SESSION en los subdominios.

Seguire mirando y aprendiendo .....

Un saludo
Jose Manuel García
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cargar un valor a una variable $_SESSION (PHP) juanpy PHP 4 12-10-2012 05:50:11
Error al conectar con servidor local axel.isr Conexión con bases de datos 7 10-04-2012 02:18:26
Error en SQL de tipo desconocido al devolver un valor dec Trucos 0 30-06-2006 00:09:04
Obtener el valor de una variable local de VBSCRIPT desde delphi.net mamen .NET 5 03-06-2005 15:49:25
Conectarme remotamente de un Servidor local a un ISP JoanKa MySQL 11 13-01-2005 19:47:51


La franja horaria es GMT +2. Ahora son las 13:45:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi