Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Hola compañeros, quisiera proteger el acceso a unas determinadas páginas de mi web y obligar a que se pase por la página principal con contraseña ...
  #1 (permalink)  
Antiguo 16/12/2004, 15:55
 
Fecha de Ingreso: octubre-2004
Mensajes: 168
Antigüedad: 13 años, 2 meses
Puntos: 0
Problema con sesiones

Hola compañeros, quisiera proteger el acceso a unas determinadas páginas de mi web y obligar a que se pase por la página principal con contraseña si se quiere acceder a ellas. Por lo que he contemplado el uso de las variables de sesión, pero me da el siguiente error:

Warning: open(/tmp\sess_90639e81d6fa16e8e65883d59ec042da, O_RDWR) failed: No such file or directory (2) in c:\foxserv\www\aplicacion\principal.php on line 21

Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\aplicacion\principal.php:21) in c:\foxserv\www\aplicacion\principal.php on line 23

Warning: open(/tmp\sess_90639e81d6fa16e8e65883d59ec042da, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

En la página principal uso las variables de sesión de este modo, que es donde creo que tengo el errror:
Código PHP:
    $sql="select * from gestores where Id='".$_POST['NombreDeUsuario']."' and Contraseña='".$_POST['Password']."';";
    
$NombreDeUsuario=$_POST['NombreDeUsuario'];
    
$result=mysql_query($sql);
    
$count=mysql_num_rows($result);
    if(
$count>&& $_POST['NombreDeUsuario']=="root" ){
       
session_start();
       
$_SESSION['validado']="$NombreDeUsuario";
       
header("Location: /Aplicacion/Administrador.htm");
    }
    else{
         if(
$sql && mysql_num_rows($result)){
            
//envio a una pagina a los que estan en la bd
            
session_start();
            
$_SESSION['validado']="$NombreDeUsuario";
            
header("Location: /Aplicacion/Profesores.htm");
            exit();
         }
         else{
              
//devuelvo al formulario a los que no estan en la bd
              
header("Location: /Aplicacion/Principal.htm");
              exit();
         }
    } 

En las páginas que son de uso restringido hago un include de este código
Código PHP:
<?php
session_start
();
if (empty(
$_SESSION['validado'])){
    
header ("Location: principal.htm");
    exit();
}
?>
  #2 (permalink)  
Antiguo 16/12/2004, 17:27
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 13 años
Puntos: 0
Hola pasate por este link creo que podra servirte de ayuda.

http://www.forosdelweb.com/f18/solicitud-acceso-251523/

Salu2 y Suerte
__________________
Atte. Mohamed :aplauso:
  #3 (permalink)  
Antiguo 16/12/2004, 18:26
 
Fecha de Ingreso: septiembre-2002
Ubicación: México
Mensajes: 356
Antigüedad: 15 años, 3 meses
Puntos: 0
Yo mas bien lo que veo es que estas utilizando PHP sobre Windows, por defecto, PHP viene configurado para tabajar sobre Linux o Unix, por lo que debes de modificar el php.ini en el PATH de donde se van a guardar tus sesiones

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0



dandole la ruta a donde quieres que estas se guarden. Si tu te fijas, te dice que no puede guardar la sesión en la carpeta /tmp , que sería en la carpeta tmp que está sobre raíz, en tu caso, deberá ser algo como C:\Ruta_a_la_carpeta_de_windows

Saludos!

Última edición por yacatl; 16/12/2004 a las 18:27
  #4 (permalink)  
Antiguo 17/12/2004, 11:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 168
Antigüedad: 13 años, 2 meses
Puntos: 0
Ajá he ido a la edición del php.ini, respeto a las sesiones esto es lo que tiene, supongo que lo que puede estar mal son alguna de las dos primeras líneas, pero por si acaso pongo todo:

[Session]
session.save_handler=files
session.save_path=F:\FoxServ\php\temp;
session.use_cookies=1
session.name=PHPSESSID
session.auto_start=0
session.cookie_lifetime=0
session.cookie_path=/
session.cookie_domain=
session.serialize_handler=php
session.gc_probability=1
session.gc_maxlifetime=1440
session.referer_check=
session.entropy_length=0
session.entropy_file=
session.cache_limiter=nocache
session.cache_expire=180
session.use_trans_sid=1
url_rewriter.tags="a=href,area=href,frame=src,inpu t=src,form=fakeentry"

He de poner alguna ruta específica, al save_path, probé con C:\Windows y me siguen apareciendo errores. Gracias.
  #5 (permalink)  
Antiguo 17/12/2004, 11:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar (sin ; al final .. las comillas sólo son necesarias por si usas espacios en la ruta ..):

session.save_path="F:\FoxServ\php\temp"

pero asegurate que ese directorio existe (y si corresponde que tenga permisos de escritura)

Un saludo,
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 01:09.