Foros del Web » Programando para Internet » PHP »

Sessiones no corren al subir la web a un hosting

Estas en el tema de Sessiones no corren al subir la web a un hosting en el foro de PHP en Foros del Web. Bueno el problema es ese, estoy haciendo un pequeño login, el cual localmente anda bien pero, al subirlo ala web, no corre las sesiones.. :S ...
  #1 (permalink)  
Antiguo 17/09/2012, 01:27
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Sessiones no corren al subir la web a un hosting

Bueno el problema es ese, estoy haciendo un pequeño login, el cual localmente anda bien pero, al subirlo ala web, no corre las sesiones.. :S
[URL="http://universidadprivadadelsur.16mb.com/"]http://universidadprivadadelsur.16mb.com[/URL]
les doy los datos USER: admin
PASS: 1234
Ya no se, que modificar porqe todo funca normal localmente,
mi codigo php es este:
Logicamente cree un formulario en otro archivo al cual en el action="logeado.php" q es el nombre del archivo php

Código PHP:
<?php
if (!isset($_SESSION)) {
session_cache_limiter('public');
  
session_start();
}
else
{
echo 
'<script>window.location="admin/index.php"</script>';
}
 include(
'conexion.php');
    
$id $_POST['username']; 
    
$pass $_POST['password'];
     
$pas1 md5($pass);
    
$n 1;
    
$user strtolower($id{$n 1});
switch (
$user)
    {
    
        case  
"a":
        
$result mysql_query("SELECT pass FROM user WHERE id_user='$id'");
        if(
$row mysql_fetch_array($result))
        {
                if(
$row["pass"] == $pas1)  //"pass" es la columna d mi base de datos
                    
{                        
                        
$_SESSION['username'] = $row['id_user'];   //asigno la sesion
                        
                        
echo '<script>window.location="admin/index.php"</script>'//esta pagina es del usuario logeado
                    
}
                else
                    {
                        echo 
'<script language = javascript>
                        self.location = "debugging/index!.htm" //ventana de error
                        </script>'
;                    
                    }
                                
        }
        else
        {
                echo 
'<script language = javascript>
                self.location = "debugging/index!.htm" //ventana de error
                </script>'
;
        }
        
        
mysql_free_result($result);
        
mysql_close();
        break;

        case 
"p":
        
$result mysql_query("SELECT pass FROM user WHERE id_user='$id'");
        if(
$row mysql_fetch_array($result))
        {
                if(
$row["pass"] == $pas1
                    {                        
                        
$_SESSION['username'] = $row['id_user'];
                        
                        echo 
'<script>window.location="profesor/index.php"</script>';
                    }
                else
                    {
                        echo 
'<script language = javascript>
                        self.location = "debugging/index!.htm"
                        </script>'
;                    
                    }
                                
        }
        else
        {
                echo 
'<script language = javascript>
                self.location = "debugging/index!.htm"
                </script>'
;
        }
        
mysql_free_result($result);
        
mysql_close();
        break;
    
    default:
            
header('location: debugging/index¡.htm'); //esta pagina muestra otro error
    
}

?>
y mi archivo para cerrar sesion es el siguiente:

Código PHP:
<?php
session_cache_limiter
('public');
session_start();
 include(
'conexion.php');
if (
$_SESSION['username'])

{    
    
session_destroy();
    echo 
'<script language = javascript>
    self.location = "index.htm"
    </script>'
;
}
else
{
    echo 
'<script language = javascript>
    self.location = "index.htm"
    </script>'
;
}
?>
El problema esta en la session, ya que me consulta bien ala bd, pero no guarda nada en la session
esta es la pagina que subi al hosting nuevamente le doy los datos
[URL="http://universidadprivadadelsur.16mb.com/"]http://universidadprivadadelsur.16mb.com[/URL]
les doy los datos USER: admin
PASS: 1234
Espero su ayuda gracias..xD
  #2 (permalink)  
Antiguo 17/09/2012, 05:46
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Sessiones no corren al subir la web a un hosting

if (!isset($_SESSION)) {
session_cache_limiter('public');
session_start();
}
else
{
echo '<script>window.location="admin/index.php"</script>';
}

El echo ese que hace? redirigir? Creo que sería mejor que hicieras
if (isset($_SESSION['usuario']))
sino existe y no puso datos de formulario (usuario y contraseña) lo vuelves a enviar allí.

En caso de existir la contraseña que siga con la ejecución. Pero es que así siempre está haciendo lo mismo con ese if.
  #3 (permalink)  
Antiguo 17/09/2012, 17:07
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Sessiones no corren al subir la web a un hosting

Buenas y gracias por su pronta respuesta,
el codigo que menciono arriba lo reduci a esto:

if (!isset($_SESSION)) {
session_start();
}
else
{
echo '<script>window.location="admin/index.php"</script>';
}

Y segun lo que yo interpreto, dice lo siquiente:
si la variable sesion no esta activa
entonces incializa sesion
sino (si la variable sesion tiene elementos guardados) entonces significa que ya esta iniciada la sesion, entonces le digo que me redirija a admin/index.php que es la pagina de inicio del administrador,
Lo que yo quiero con este codigo es que no me deje entrar al login nuevamente, si es que ya tiene una sesion iniciada.
  #4 (permalink)  
Antiguo 17/09/2012, 18:15
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Sessiones no corren al subir la web a un hosting

Para que no se vuelva a loguear si ya está logueado usa un estado bandera ( 0 o 1 ) .
Usas un campo en tu tabla que represente eso con los posibles valores 0 o 1, cuando hiciste toda la verficación de si concuerda el user y la password con lo que tenes en la tabla luego creas la session y luego haces una sentencia UPDATE al campo "logueado" ( por ejemplo, podrías tener como nombre logueado, para este campo en tu tabla ) y ponerlo en 1, entonces a partir de ahora siempre que quieras loguearte no solo comprobas los datos de nombre y password sino que también tendrias que ver en que estado esta si en 1 o 0 para el campo "logueado".
Creo que fui bastante claro.
  #5 (permalink)  
Antiguo 17/09/2012, 20:59
(Desactivado)
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peru Villa Maria
Mensajes: 29
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Sessiones no corren al subir la web a un hosting

Si, la solucion me parece factible, pero no habra otra solucion sin tocar la base de datos?
Me refiero a que la solucion sea a partir de codigo php.
Gracias de antemano..xD

Etiquetas: hosting, login, nocorre, null, session, session.php, subirarchivo, 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 18:15.