Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/05/2011, 16:57
russellhoff
 
Fecha de Ingreso: noviembre-2010
Ubicación: laudio
Mensajes: 61
Antigüedad: 13 años, 5 meses
Puntos: 1
Problema con isset() y Sesión

Buenas noches amigos.

Estoy desesperado desde el viernes pasado. La cosa es que estoy haciendo el proyecto fin de carrera y eso, el viernes pasado tuve que resolver un error que me ha llevado a otro... Y estoy perdiendo un tiempo valiosísimo. Al grano.

Uso xampp para linux (llamadme lo que querias jeje), y he tenido que borrar la anterior carpeta lampp de /opt (teniendo unas copias de seguridad anteriores, obviamente). Al restaurar, he tenido que copiar los ficheros php y demas de htdocs, php.ini del directorio etc de lampp y luego la base de datos de phpmyadmin y mysql (todo parece estar en orden en este aspecto).

Ahora, me estoy volviendo loco. (Estaba a punto de terminar las pruebas del último caso de uso, y zas, me ocurrió esto.) A la hora de ejecutar un caso de uso, me debería de aparecer un formulario vacío, obviamente no lo había ejecutado anteriormente. Pues no, me aparecían varios input de tipo text rellenados con varios espacios en blanco, mejor dicho, TODOS los input de tipo text estaban rellenados con numerosos espacios.

Bien, siguiendo la comprobación a ver a qué se podía deber, he descubierto que tras hacer un print_r($_SESSION) (e imprimirme el contenido de la sesión) no me borra unas variables que existen. Digamoslo así, para que lo entendáis:

1) hago un print_r($_SESSION) y el resultado es este:
Código PHP:
Array
(
    [
idTipoTrabajador] => 1110
    
[user] => jefe_produccion
    
[datos_de_error] => Array
        (
            [
anio_parada_comienzo] =>             
            [
mes_parada_comienzo] => 1
            
[dia_parada_comienzo] => 1
            
[anio_parada_fin] =>                 
            [
mes_parada_fin] => 1
            
[dia_parada_fin] => 1
            
[error_parada] => 1
            
[anio_crea_comienzo] =>                         
            [
mes_crea_comienzo] => 1
            
[dia_crea_comienzo] => 1
            
[anio_crea_fin] =>                 
            [
mes_crea_fin] => 1
            
[dia_crea_fin] => 1
            
[error_crea] => 1
            
[duracion_parada1] =>                     
            [
duracion_parada2] =>                     
            [
error_duracion] => 1
            
[vel1] =>                     
            [
vel2] =>                 
            [
error_vel] => 1
            
[artrech1] =>                             
            [
artrech2] =>                     
            [
error_artrech] => 1
            
[causa] => Array
                (
                    [
0] => 1
                    
[1] => 2
                    
[2] => 3
                
)

            [
creador] => 
            [
participante] => 
            [
articulo] => 
            [
turno] => 
            [
maquina] => 
            [
seccion] => 
            [
error_maqsec] => 
        )

    [
error_en_consulta_informes] => 1
    
[acceso_seguro] => si

2) Siguiendo el flujo de datos de mi script, tengo esto:

Código PHP:
if( isset($_SESSION["error_en_consulta_informes"]) ){
            unset(
$_SESSION["error_en_consulta_informes"]);
        }
        if ( isset(
$_SESSION["datos_de_error"]) ){
            unset(
$_SESSION["datos_de_error"]);
        } 
La cosa es que teniendo en cuenta que antes de los if, se ve claramente que existen esas variables, por qué narices no me entra en esas ramas condicionales.

He de decir que esto no pasaba antes de haber tenido que recomponer la carpeta lampp, aunque debería de ser independiente ahora me ocurre esto..

Alguien sabe por qué me ocurre esto? Demasiado extraño, y lo peor es que me estoy desmoralizando...

Una última ayuda desde este foro por favor, les estoy muy agradecido por la ayuda que dan...

Un saludo compañeros ^^