Foros del Web » Programando para Internet » PHP »

problema con session_start()

Estas en el tema de problema con session_start() en el foro de PHP en Foros del Web. tengo un problema que creo es de configuracion: Estaba aplicando una rutina para hacer login en la cual al comienzo escribo session_start(); pero me sale ...
  #1 (permalink)  
Antiguo 09/01/2009, 16:09
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
problema con session_start()

tengo un problema que creo es de configuracion:

Estaba aplicando una rutina para hacer login en la cual al comienzo escribo session_start(); pero me sale estos errores:

Código:
Warning: session_start() [function.session-start]: open(C:/DOCUME~1/ADMINI~1/CONFIG~1/Temp\sess_0d40f9d45a395881ddc68b2beabf24e0, O_RDWR) failed: Permission denied (13) in D:\DESARROLLO WEB\PERU\web\web2\verifica_login.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\DESARROLLO WEB\PERU\web\web2\verifica_login.php:2) in D:\DESARROLLO WEB\PERU\web\web2\verifica_login.php on line 2
fallo
Warning: Unknown: open(C:/DOCUME~1/ADMINI~1/CONFIG~1/Temp\sess_0d40f9d45a395881ddc68b2beabf24e0, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:/DOCUME~1/ADMINI~1/CONFIG~1/Temp) in Unknown on line 0
lo extraño es que he usado este codigo en otros proyectos y me ha funcionado sin ningun problema aqui les pongo mi codigo:

Código PHP:
<?php
session_start
();
//Conexion a la Base de datos
include ('clase_mantenimiento.php');
$clase=new clasePrincipal();
$c=$clase->conectar("localhost","db_jcrosales","root",".");

//Datos de Login
$usuario $_POST['usuario'];
$password $_POST['password'];

//Encriptamos los datos para comprarlos en la BD
$login_usu=md5($usuario);
$login_psw=md5($password);

//Verificar    
$cad "select * from usuario where usuario_nombre='$login_usu'";    
$datos mysql_query($cad);//permite que se ejecute una cadena sql
$total=mysql_num_rows($datos);//CUANTA EL NUMERO DE REGISTROS QUE TIENE $datos, EN ESTE CASO 1

//estado del usuario
$cad2 "select usuario_flag_estado from usuario where usuario_nombre='$login_usu'";
$sql  mysql_query($cad2);
while(
$row mysql_fetch_array($sql)) {
    
$estado $row["usuario_flag_estado"];
}

//Bloquear otros tipos de usuario
$otro=0;
$cad3 "select * from usuario where usuario_nombre='$login_usu' and usuario_tipo_id='1'";
$sql2 mysql_query($cad3);
$otro mysql_num_rows($sql2);

if(
$total>$otro){

    if(
$total 0){
        
$cad "select * from usuario where usuario_nombre='$login_usu' and usuario_password='$login_psw'";
        
$datos  mysql_query($cad);
        
$total mysql_num_rows($datos);
    
        if(
$total>0){
            if(
$estado==1){
                
$codigo mysql_result($datos,0,0); 
                
$_SESSION["codigo"]=$codigo
                echo 
"ingreso";
                
//header("location:web/index.html?c=$codigo");
            
}
            else{
                
//usuario deshabilitado
                //header("location:def.php");
                
echo "fallo";
            }
        }
        else{
            
//error de contraseña
            //header("location:def.php");
            
echo "fallo";        
        }
    }
    else{
        
//error de usuario
        //header("location:def.php");
        
echo "fallo";
    }
}
else{
    
//usuario deshabilitado
    //header("location:def.php");
    
echo "fallo";
}
?>
... que no creo que sea el error, que debo hacer ponerle nombre a la session? o algo asi? espero me ayuden , gracias
  #2 (permalink)  
Antiguo 09/01/2009, 16:58
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: problema con session_start()

fíjate en tu php.ini la directiva session_path, si está habilitado, además el directorio donde se gurdan las sesiones. si no lo estuviera habilítalo, pon una direccón de un directorio donde deseas guardarlo(recomendable en la el directorio donde está tu php) y además crea esa carpeta en el mismo directorio, guarda tu php.ini en también en el directorio windows, reinicia tu server(apache).
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #3 (permalink)  
Antiguo 09/01/2009, 17:17
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: problema con session_start()

hola, gracias por tu respuesta, revise mi php.ini y me sale lo siguiente:
....

As of PHP 4.0.1, you can define the path as:
;
; session.save_path = "N;/path"

; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
session.save_path = "C:/DOCUME~1/ADMINI~1/CONFIG~1/Temp"

; Whether to use cookies.
session.use_cookies = 1

....


tu dices que debo habilitar un session.save.path y crear una carpeta dentro de mi carpeta de Apache y copiar esa ruta, pero en session.save.path? yo veo 3
  #4 (permalink)  
Antiguo 09/01/2009, 17:23
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: problema con session_start()

decía directiva session_path. ejemplo yo tengo mi php instalado en c:/server/PHP/, dentro de este directorio creo la carpeta Sessions, luego en mi php.ini busco la directiva anterior y le pongo así
Cita:
session_path=C:/server/PHP/Sessions/
´
guardas el php.ini en el directorio de php.ini y también en el directorio de windows y luego reinicias tu APACHE.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #5 (permalink)  
Antiguo 09/01/2009, 17:37
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: problema con session_start()

muchas gracias por tu respuesta , fue la solucion exacta :)

saludos
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 22:44.