Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

problema con session y obajeto

Estas en el tema de problema con session y obajeto en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas amigos, le cuento lo que me pasa, tengo un script sencillo, el cual contiene un formulario, una funcion login que valida los datos y ...
  #1 (permalink)  
Antiguo 26/05/2008, 13:28
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
problema con session y obajeto

Buenas amigos, le cuento lo que me pasa, tengo un script sencillo, el cual contiene un formulario, una funcion login que valida los datos y accede a una clase para obtener resultados y otra funcion que me muestra otros resultados. Bien el tema esta que cuando quiero usar el objeto que tengo en la session me salta este error:
Fatal error: Call to a member function getTeamPlayers () on a non-object in D: \ xampp \ htdocs \ chpp \ chpp2 \ index.php on line 49

el codigo que uso es este:
Código PHP:
<?php
    
if ($_POST['login']){
        
login();
    }
    else{
        if (
$_GET['opcion']=="jugadores"){
            
jugadores();
        }
        else{
            
principal();    
        }
    }
    
    
    
    function 
principal(){?>
        <form action="" method="POST">
            <input type="text" name="user"><br>
            <input type="password" name="pass"><br>
            <input type="submit" name="login" value="login">
        </form><?php
    
}
    
    function 
login(){
        include(
'PHT.php');
        
$user=$_POST['user'];
        
$pass=$_POST['pass'];
         
$HT=new CHPPConnection('nukestats','');
        
        if( 
$HT->connectUser($user,$pass))
        {
            
session_start();  
              
$_SESSION['HT'] = $HT;
              
              
$team $HT->getTeam();

              echo 
$team->getTeamName().' '.$team->getShortTeamName().' '.$team->getTeamId()."<br/>";

              echo 
$team->getArenaName().' '.$team->getArenaId()."<br/>";

              echo 
$team->getDessCode().' '.$team->getDessAlternateCode()."<br/>";

              echo 
$team->getLanguageName().' '.$team->getLanguageId()."<br/>";

              echo 
$team->getLeagueName().' '.$team->getLeagueId()."<br/>";

              echo 
$team->getLeagueLevelName().' '.$team->getLeagueLevelId()."<br/>";

              echo 
$team->getRegionName().' '.$team->getRegionId()."<br/>";

              echo 
$team->getTrainerName().' '.$team->getTrainerId()."<br/>";

              echo 
$team->getTeamRank()."<br/>";

              if(
$team->isBot())

              {

                  echo 
$team->getBotDate('Y-m-d')."<br/>";

              }

              if(
$team->isInCup())

              {

                  echo 
$team->getCupName().' '.$team->getCupId()."<br/>";

              }

              if(
$team->isHtSupporter())

              {

                  echo 
$team->getNumberMessageInGuestbook()."<br/>";

                  echo 
$team->getPressAnnouncementDate().' '.$team->getPressAnnouncementTitle()."<br/>";

                  echo 
$team->getPressAnnouncementText()."<br/>";

              }


              
?>
              <a href="index.php?opcion=jugadores">Jugadores</a><?php
              
                          
        
}
        else{
            echo 
"error al entrar";
        }
    }
    
    function 
jugadores(){
        include(
'PHT.php');
        
$HT $_SESSION['HT'];

        
$teamPlayers $HT->getTeamPlayers();

        echo 
$teamPlayers->getTeamName().' ('.$teamPlayers->getTeamId().')';

        for(
$i=1$i<=$teamPlayers->getNumberPlayers(); $i++)

        {

            
$player $teamPlayers->getPlayer($i);

            echo 
$player->getName()." ".$player->getId()."<br>";

            echo 
$player->getAge().' years '.$player->getDays().' days'."<br>";

            echo 
$player->getForm()."<br>";

            echo 
$player->getSalary(HTMoney::Argentina)."<br>"// will output salary for country currency

            
echo $player->getTsi()."<br>";

            echo 
$player->getGoalsInCareer().' '.$player->getGoalsInCup().' '.$player->getGoalsInLeague()."<br>";

            echo 
$player->getInjury()."<br>";

            echo 
$player->getCards()."<br>";

        }


    }
    
?>

que estoy haciendo mal?

desde ya muchas gracias como siempre
  #2 (permalink)  
Antiguo 26/05/2008, 14:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema con session y obajeto

Hola destor77,

Recuerda que cuando usas objetos en sesiones debes de incluir la definición del objeto antes de llamar a session_start, de lo contrario se pierde la definición del objeto.

Saludos.
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 07:57.