Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2007, 20:16
yonmax
 
Fecha de Ingreso: marzo-2007
Mensajes: 39
Antigüedad: 17 años, 1 mes
Puntos: 0
Sessiones dentro de FUNCION

Holas a todos, hos pido disculpa por la poca participacion en el foro pero hee estado muy ocupao y con algunos problemas personales... bueno el asunto es qe me encuentro desarrollando una web y me surgio un gran problema, pues realise un sistema de login y esta dentro de una funcion(si el sistema lo aplico fuera de una funcion funciona perfecto) y me sale el siguiente error

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\ruta\index.php:2) in C:\ruta\index.php on line 52

a qe se debe el error? a qe esta definido session_start(); dentro de una funcion? bueno no tengo mucha experiencia con las funciones, a lo mejor ese es mi problema,, el asunto es qe no se como solucionarlo,..... ademas me sale un erro similar al aplicar el header('location: index.php');.. el siguiente erro me sale al aplicar el header

Warning: Cannot modify header information - headers already sent by (output started at C:\ruta\index.php:2) in C:\ruta\index.php on line 55

hos recuerdo qe header tambien lo defini dentro de la funcion... cmo podre solucionar aquel problema?? adjunto el codigo php para mayor comprension.
aaaa ademas hos informe qe utilizao ADODB para hacer las conexion a la base de datos, es por eso qe las consultas tiene algunas modificaciones pequeñas en la sintaxis.

Código PHP:
function conexion($userid$pasw){

         require_once 
'../adodb/adodb.inc.php';  //arhivos necesarios pa la conexion
         
require_once '../adodb/datos.php'//archio qe contien los datos pa conectar
 
         
$conexion ADONewConnection(db_driver);
         if(!
$conexion->Connect(db_serverdb_userdb_accesdb_db)){
              echo(
'<script type="text/javascript">alert("Ups!!Ocurrio un error al conectar a la DB, intenta nuevamente.");</script>');
              
loginbox();
         }else{
               if(isset(
$userid) && isset($pasw)){
                  
$sql $conexion->Prepare('select count(user) from tabla where user = ? and password = ?');
                  
$valido $conexion->GetOne($sql, array($userid$pasw));

                  if(
intval($valido) === 1){
                     
session_start();
                     
$_SESSION['userid'] = $userid;
                     
$_SESSION['valido'] = true;
                      
header ('location: entrar.php'); //lo envio a esa pagina si existe el user,ademas de iniciar la session
                     
exit();

                  }else{
                        echo(
'<script type="text/javascript">alert("Error: no existe el userId,logea nuevamente.");</script>');
                        
loginbox();
                        }
                }
             }

  



este codigo funciona pefectamente AFUERA de una funcion, pero al incluir dentro de una,en este caso function conexion(), me da los errores qe expuse mas arriba..

BUeno espero qe algen me pueda dar una mano...