Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2007, 16:06
nercof362502
 
Fecha de Ingreso: diciembre-2006
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema al tratar de acceder a un objeto almacenado en una veriable de Sesion

Hola comunidad, mi problema se basa en que llegue a un momento en el cual debia pasar un objeto desde una pagina hacia otra, y crei que lo mejor seria con variables de sesion.(Soy nuevo en este lenguaje). Busque en google y encontre algunos foros que mencionen lo mismo o similar pero no consigo = solucionarlo, si alguien sabe le agradeceria.

tengo dos paginas validarUsuario.php que crea el objeto y lo almacena en la variable sesion $_SESSION['bedel'] y indexBedeles.php que quiere leer ese objeto. Y otro q es usuario.php que es el que tiene las clases.
Al hacerlo me aparecen los siguientes Warning:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/gestionBRA/includes/usuario.php:1) in /var/www/gestionBRA/indexBedeles.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/gestionBRA/includes/usuario.php:1) in /var/www/gestionBRA/indexBedeles.php on line 3

Les dejo el codigo:
************************************************** *******
/* validarUsuario.php */
<?php
include ("./includes/mySql5.php");
include ("./includes/usuario.php");
session_start();
?>
<html>
<head>
<title>Validar Usuario</title>
</head>
<body>
<?php
$conexion=conectarse("localhost","root","leinad362 502","Gestionbra");
$stringSql=(" select *
from Usuario
where idUsuario='$_REQUEST[nombreUsuario]'");
$resultado=consulta($stringSql,$conexion);

if($usu=mysql_fetch_array($resultado)){
if($usu['contrasenia']==$_REQUEST['contrasenia']){

$idUsu=$_REQUEST['nombreUsuario'];
$pass=$usu['contrasenia'];
$nom=$usu['nombre'];
$ape=$usu['apellido'];
$turno=$usu['turnoTrabajo'];

switch($usu['tipoUsuario']){
case 'Bedel':
$bedel=new Bedel($idUsuario,$pass,$ape,$nom,$turno,null,null) ;
$_SESSION['bedel']=$bedel;
var_dump($bedel);
echo "<hr>";
var_dump($_SESSION['bedel']);
echo"<script>window.location.href='./indexBedeles.php?bedel=$argumento';</script>";
break;
case 'Administrador':
echo"<script>window.location.href='./indexAdministrador.php';</script>";
break;
case 'Auditor':
echo"<script>window.location.href='./indexAuditor.php';</script>";
break;
}//fin switch($usu['tipoUsuario'])
}//fin if contrasenia.
else{
echo "<script>alert('Contrasenia no valida para este nombre de Usuario.Por favor vuelva a intentarlo')</script>";
echo"<script>window.location.href='./formularioValidarUsuario.php';</script>";
}
}// fin if($usu=mysql_fetch_array($resultado))
else{
echo "<script>alert('Usuario no registrado en el sistema.Por favor vuelva a intentarlo')</script>";
echo"<script>window.location.href='./formularioValidarUsuario.php';</script>";
}
?>
</body>
</html>
************************************************** *******
/* indexBedeles */
<?php
include ("./includes/usuario.php");
session_start();
//el error de los warning es que primero hago el include y luego activo la sesion, //pero de no ser asi, el objeto me queda incompleto.
echo "<br><hr>";
var_dump($_SESSION['bedel']);
?>
[...]
************************************************** *******
/* usuario.php*/
<?php
class Usuario{
private $idUsuario;
private $contrasenia;
private $apellido;
private $nombre;

function setDatos($idUsu,$pass,$ape,$nom){
$this->idUsuario=$idUsu;
$this->contrasenia=$pass;
$this->apellido=$ape;
$this->nombre=$nom;
}

function setIdUsuario($id) { $this->idUsuario=$id; }
function setContrasenia($pass) { $this->contrasenia=$pass; }
function setApellido($ape) { $this->apellido=$ape; }
function setNombre($nom) { $this->nombre=$nom; }

function getIdUsuario() { return $this->idUsuario; }
function getContrasenia() { return $this->contrasenia; }
function getApellido() { return $this->apellido; }
function getNombre() { return $this->nombre; }

}// fin class Usuario

class Bedel extends Usuario{
private $turnoTrabajo;
private $gestionReserva;
private $gestionAula;

public function __construct($idUsu,$pass,$ape,$nom,$turnoT,$gestio nR,$gestionA){
$this->setDatos($idUsu,$pass,$ape,$nom);
$this->gestionReserva=$gestionR;
$this->gestionAula=$gestionR;
}

function registrarAula(){}
function modificarAula(){}
function buscarAula(){}
function eliminarAula(){}
function buscarReserva(){}
function registrarReserva(){}
function cancelarReserva(){}

function setTurnoDeTrabajo($tt) { $this->turnoTrabajo=$tt; }
function setGestionReserva($gR) { $this->gestionReserva=$gR; }
function setGestionAula($gA) { $this->gestionAula=$gA; }

function getTurnoTrabajo() { return $this->turnoTrabajo; }
function getGestionReserva() { return $this->gestionReserva; }
function getGestionAula() { return $this->gestionAulas; }
}//fin class Bedel

class Administrador extends Usuario{
private $gestionBedel;

public function __construct($idUsu,$pass,$ape,$nom,$turnoT,$gestio nB){
$this->setDatos($idUsu,$pass,$ape,$nom);
$this->gestionBedel=$gestionB;
}

function registrarBedel() {}
function buscarBedel() {}
function eliminarBedel() {}
function modificarBedel() {}

function setGestionBedel($gB) { $this->gestionBedel=$gB; }
function getGestionBedel() { return $this->gestionBedel; }

}//fin class Administrador
?>

Les agradeceria que me den una mano. En indexBedeles.php explico lo que yo creo q es el error, pero no se la solucion, si altero la posicion me dice:
object(__PHP_Incomplete_Class) (...).

Alguna sugerencia o link que me pueda ayudar.
Gracias de antemano