PHP Notice: Undefined index errors

SunleafStudios

I have been creating some code in PHP and the logs of my server keep showing the following errors. The code are handlers for a game that I have been creating. I have tried to fix them by researching and applying the ''fixes'' but it didn't go well.

Undefined index: a#jt in /usr/share/nginx/Sweater/Sweater/GameHandler.php on line 160 Undefined index: a#jt in /usr/share/nginx/Sweater/Sweater/GameHandler.php on line 161 Undefined index: a#jt in /usr/share/nginx/Sweater/Sweater/GameHandler.php on line 167 Undefined index: a#lt in /usr/share/nginx/Sweater/Sweater/GameHandler.php on line 227

Trying to get property of non-object in /usr/share/nginx/Sweater/Sweater/GameHandler.php on line 302

This is the code for them:

function handleJoinTable(Array $arrData, Client $objClient) {
    $intPlayer = $arrData[4];
    $tableId = $arrData[2];
    $strUsername = $this->objDatabase->getUsername($intPlayer);
    $seatId = count($this->tablePopulationById[$tableId]) - 1; // Line 160
    if($this->gamesByTableId[$tableId] === null) { // Line 161
        $findFourGame = new FindFour();
        $this->gamesByTableId[$tableId] = $findFourGame;
    }
    $this->tablePopulationById[$tableId][$strUsername]; // Line 167
    $seatId += 1;
    $objClient->sendXt('jt', $objClient->getIntRoom(), $tableId, $seatId);
    $objClient->sendXt('ut', $objClient->getIntRoom(), $tableId, $seatId);
    $this->playersByTableId[$tableId][] = $intPlayer;
    $this->tableId = $tableId;
}


function handleLeaveTable(Array $arrData, Client $objClient) {
        $intPlayer = $arrData[2];
        $tableId = $arrData[3];
        $strUsername = $this->arrClientsByID[$intPlayer]; // Line 227
        unset($objClient->arrPlayer[$intPlayer]);
        $objClient->sendXt('lt', $objClient->getIntRoom(), $strUsername);
    }

function handleGetGame(Array $arrData, Client $objClient) {
    $intPlayer = $arrData[3];
    if($objClient->getExtRoom() == 802) {
        $puckData = $this->rinkPuck;
        $objClient->sendXt('gz', $objClient->getIntRoom(), $puckData);
    } elseif($intPlayer->tableId !== null) { // Line 302
        $tableId = $intPlayer->tableId;
        $playerUsernames = array_keys($this->tablePopulationById[$tableId]);
        @list($firstPlayer, $secondPlayer) = $playerUsernames;
        $boardString = $this->gamesByTableId[$tableId]->convertToString();
        $objClient->sendXt('gz', -1, $firstPlayer, $secondPlayer, $boardString);
    }
}

What's going on here?

delboy1978uk

$this->tablePopulationById[$tableId]

tablePopulationById is an array that DOES NOT contain a key of index $tableId.

$arrData[3]; DOES NOT contain an object of whatever class you were expecting!

In both cases, var_dump them to see what you DO have!

var_dump($this->tablePopulationById);
var_dump($arrData);

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related