Foros del Web » Programando para Internet » PHP »

Error que no me permite continuar

Estas en el tema de Error que no me permite continuar en el foro de PHP en Foros del Web. Saludos. Llevo varios días dándole vueltas al asunto y no consigo encontrar la solución. En resumidas cuentas, necesito en mi aplicación, incluir en un afunción ...
  #1 (permalink)  
Antiguo 06/04/2008, 00:08
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Error que no me permite continuar

Saludos.
Llevo varios días dándole vueltas al asunto y no consigo encontrar la solución.
En resumidas cuentas, necesito en mi aplicación, incluir en un afunción o archivo los datos de conexión a mi base de datos, para que cuando necesite modifcar algo, hacerlo en ese archivo, al que llamaré con include.

Luego, además, necesito, en base al usuario que se identifique, que "pase" por un código de validación, y según sea dicho usuario, comenzar un a session, y redirigirlo a una página u otra.

Los errores que me indican son:
Código:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /Applications/MAMP/htdocs/sic/conex.php:27) in /Applications/MAMP/htdocs/sic/scontrol.php on line 39

Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/sic/conex.php:27) in /Applications/MAMP/htdocs/sic/scontrol.php on line 49
Os pongo los códigos ...
scontrol.php (es llamado después de solicitar usuario /clave, desde el index.html)
Tiene comentado el tema del include, porque me daba error ...

Código PHP:
<?php
//include('conex.php'); 
// $link=Conectarse();
     
//////////////////////////////////////////
//  CONEXION CON LA BASE DE DATOS       //
//     sustituir por un a funcion       //
$link mysql_connect('localhost:8889''root''root') or die('Error conectando con el servidor.');
$db mysql_select_db('sic'$link) or die ('No se puede conectar con la base de datos.');
//////////////////////////////////////////


   
$usuario $_POST['usuario'];
   
$query 'SELECT * FROM usuariossic WHERE UsuarioNombre="' .  $usuario '"';
   
//$result = mysql_query($query,$link);
    
$result mysql_query($query);

    
//Resto de usuarios no adminsic  ************************
    
if (mysql_num_rows($result)==0){ 
    
//si no coincide la clave le mando otra vez a la portada
            
header("Location: index.php?errorusuario=si");
            
//header("Location: scontrolacceso.php?errorusuario=si");
            
} else{

   while(
$row mysql_fetch_assoc($result))
        {

           
//echo $row['ClienteClave'] . "<br>";
           
if ($row['UsuarioClave'] == $_POST['contrasena']){
                
//usuario y contraseña válidos
                //defino una sesion y guardo datos
                
session_start();
                
$_SESSION['autentificado']= 'SI';
                
$_SESSION['usuario']=$_POST['usuario'];
                
$_SESSION['usuariotipo']=$row['UsuarioTipo'];
                
$_SESSION['usuarioID']=$row['UsuarioID'];
                
//$_SESSION["usuarioClienteID"] =$row['UsuarioClienteID']; 
                
                
switch($row['UsuarioTipo']) {
                      case 
'1':   // Administrador SIC
                          
$_SESSION['autentificadoadmin']= 'SI';
                        
header ('Location: admindex.php');
                        break;
                     case 
'2':   // Editor SIC
                         
$_SESSION['autentificadoeditor']= 'SI';
                        
header ('Location: editorindex.php');
                           break;
                        default:   
// Cualquier Usuario-Cliente
                     
$_SESSION['autentificado']= 'SI';
                     
$_SESSION['usuarioClienteID'] = $row['UsuarioClienteID']; 
                        
header ('Location: clienteindex.php');
                   } 
                
                
/*
                if ($row['UsuarioTipo'] == 1){  // Administrador SIC
                $_SESSION["autentificadoadmin"]= "SI";
                header ("Location: admindex.php");
                } else {                     // Resto de usuarios SIC - Cliente
                $_SESSION["autentificado"]= "SI";
                header ("Location: clienteindex.php");
                }*/
            
}else {
            
//si no coincide la clave le mando otra vez a la portada
            
header('Location: scontrolacceso.php?errorusuario=si');
            }       
        }
        }
?>
La del include, donde quiero meter la función, es ... conex.php
Código PHP:
<?php
function Conectarse()

{

$db_host='localhost:8889'// Host al que conectar, habitualmente es el ‘localhost’

$db_nombre='sic'// Nombre de la Base de Datos que se desea utilizar

$db_user='root'// Nombre del usuario con permisos para acceder

$db_pass='root'// Contraseña de dicho usuario

// Ahora estamos realizando una conexión y la llamamos ‘$link’

$link=mysql_connect($db_host$db_user$db_pass) or die ("Error conectando a la base de datos.");

// Seleccionamos la base de datos que nos interesa

$db mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");

// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.

return $link;

}
?>
Espero que me podáis ayudar a eliminar esos dos errores y conseguir lo que necesito.

Gracias por anticipado
  #2 (permalink)  
Antiguo 06/04/2008, 01:29
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Error que no me permite continuar

Revisa que no tengas espacios en blanco al final de tu archivo conex.php El error dice que hay 27 lineas, y solo muestras 14, asi que puede tengas esos espacios o lineas extra.
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 06/04/2008, 02:22
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Re: Error que no me permite continuar

Perfecto .... parece que era eso.
He quitado todos los comentarios y líneas vacías entre las que tenía código .. todo compactado, y funciona.

Muchas gracias
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:08.