Foros del Web » Programando para Internet » PHP »

error al iniciar session

Estas en el tema de error al iniciar session en el foro de PHP en Foros del Web. Buenas cuando intento iniciar sesion en php me sale el error de abajo... el codigo esta bien por que funcionaba pero ahora he cambiado de ...
  #1 (permalink)  
Antiguo 18/03/2009, 05:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
Puntos: 0
error al iniciar session

Buenas cuando intento iniciar sesion en php me sale el error de abajo...

el codigo esta bien por que funcionaba pero ahora he cambiado de servidor y me puesto el xampp y me aparecen los errores yo creo que sera algo del php.ini por que le hize alguna modificacion para que las sessiones se guardaran en la base de datos y no me acuerdo que modifique...


mecii


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at K:\xampp\htdocs\admin.php:2) in K:\xampp\htdocs\codes\ifsesion.php on line 22

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at K:\xampp\htdocs\admin.php:2) in K:\xampp\htdocs\codes\ifsesion.php on line 22

Última edición por scorpionhack; 18/03/2009 a las 06:39
  #2 (permalink)  
Antiguo 18/03/2009, 06:53
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: error al iniciar session

Ese error sale porque está printando algo por pantalla antes de llamar a la función session_start. El error te da alguna pista al respecto de dónde estás printando cosas.

Un saludo
  #3 (permalink)  
Antiguo 18/03/2009, 07:08
jfw
 
Fecha de Ingreso: enero-2009
Mensajes: 117
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: error al iniciar session

Es posible que tengas alguna linea en blanco delante del <? de php o después del ?>
__________________
Buscador de casas rurales en España
  #4 (permalink)  
Antiguo 18/03/2009, 07:11
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
Respuesta: error al iniciar session

si pones tu codigo te vamos a poder ayudar..
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #5 (permalink)  
Antiguo 18/03/2009, 07:19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: error al iniciar session

pues he revisado el codigo y no hay nada que me printe en pantalla...esto es el codigo que se ejecuta y no hay nada...

Código PHP:
include("db.php");
  
// No almacenar en el cache del navegador esta página.
    
        
        
include("codes/manejoSesiones.class.php");
ini_set('session.gc_maxlifetime'350);
ini_set('session.cookie_lifetime'350); 
        
$sesionOA = new manejoSesiones();
session_set_save_handler(array(&$sesionOA,'abrirSesion'),array(&$sesionOA,'cerrarSesion'),array(&$sesionOA,'leerSesion'),array(&$sesionOA,'escribirSesion'),array(&$sesionOA,'borrarSesion'),array(&$sesionOA,'recolector'));


                                   


//$pass=$_COOKIE["pass"];
session_start();

if (!isset(
$_SESSION['loggedin'])){
    
    
$logerr=$HTTP_GET_VARS["msg"];

      switch(
$logerr){
          case 
"err";
              
$logerr="Usuario y/o Contraseña no es válido";
              break;
          case 
"not";
              
$logerr="Introduzca Usuario y Contraseña";
              break;
        default;
              
$logerr="";
              break;
      }
        include(
"logincode.php");
    exit;
}else{

$sex=$_SESSION['sexo'];     
$user=$_SESSION['username'];
$user=ucwords($user);







Código PHP:

class manejoSesiones {
    var 
$tiempoExpirado;
    var 
$tablaSesiones "sesiones";
    
    function 
abrirSesion($savePath$sessionID) {
        global 
$dbc;
        
        return 
true;
    }
    
    function 
cerrarSesion() {
        global 
$dbc;
        
        
$this->tiempoExpirado ini_get('session.gc_maxlifetime');
        
        
$this->recolector($this->tiempoExpirado);
        return 
true;
    }
    
    function 
leerSesion($sessionID) {
        global 
$dbc;
        
        
$sql "SELECT * FROM ".$this->tablaSesiones." WHERE sessionID = '$sessionID'";
        
$result mysql_query($sql);
        
        if(!
$result) { return false; }
        
        
$num mysql_num_rows($result);
        if(
$num 0) {
            
$data mysql_fetch_assoc($result);
            return 
$data['sessionData'];
        }else{
            return 
false;
        }
    }
    
    function 
escribirSesion($sessionID$sessionData) {
        global 
$dbc;
       
        
//loggedin|s:4:"TRUE";username|s:6:"javier";sexo|s:1 :"o";
        
list($logedinses$userses$sexses) = explode(";"$sessionData);
        
$sesionuser explode("\""$userses);
        
$sesionuser $sesionuser[1]; // trozo1
 // trozo2
        
if ($sessionData!=""){
        
$sql "UPDATE ".$this->tablaSesiones." SET sessionData = '$sessionData' WHERE sessionID = '$sessionID'";
        
$result mysql_query($sql);
        
        if(
mysql_affected_rows()) {
            return 
true;
        }else{
        
            
$sql "INSERT INTO ".$this->tablaSesiones." (sessionID, sessionStart, sessionData, sessionUser) VALUES ('$sessionID','".time()."','$sessionData','$sesionuser')";
            
$result mysql_query($sql);
            return (!
$result) ? false true ;
        }
        }
    }
    
    function 
borrarSesion($sessionID) {
        global 
$dbc;
        
        
$sql "DELETE FROM ".$this->tablaSesiones." WHERE sessionID = '$sessionID'";
        
$res mysql_query($sql);
        return (!
$res) ? false true ;
    }
    
    function 
recolector($tiempo) {
        global 
$dbc;
        
        
$sql "DELETE FROM ".$this->tablaSesiones." WHERE ".time()." > (sessionStart + ".$tiempo.")";
        
$res mysql_query($sql);
        return (!
$res) ? false true ;
    }
}
?> 
  #6 (permalink)  
Antiguo 18/03/2009, 07:23
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: error al iniciar session

pon el session_start() al principio de todo

Código PHP:
session_start(); 

include(
"db.php"); 
  
// No almacenar en el cache del navegador esta página. 
     
         
        
include("codes/manejoSesiones.class.php"); 
ini_set('session.gc_maxlifetime'350); 
ini_set('session.cookie_lifetime'350);  
         
$sesionOA = new manejoSesiones(); 
session_set_save_handler(array(&$sesionOA,'abrirSesion'),array(&$sesionOA,'cerrarSesion'),array(&$sesionOA,'leerSesion'),array(&$sesionOA,'escribirSesion'),array(&$sesionOA,'borrarSesion'),array(&$sesionOA,'recolector')); 


                                    


//$pass=$_COOKIE["pass"]; 
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:44.