Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2008, 00:08
AJDC
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 9 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