1

ユーザーがログインしているかどうかに基づいて、MY_Controller にプロファイル div ボックスを設定しようとしています。

コントローラーでこれを行うことができれば

$data['name']  = $name;

.. では、なぜ「致命的なエラー: タイプ stdClass のオブジェクトを配列として使用できません」というメッセージが表示されるのですか?

    if($this->session->userdata('loggedInStatus') == "TRUE"){
        $data['profileDivFirstName'] = $this->session->userdata('first_name');
        $data['profileDivPicture'] = $this->session->userdata('picture');
        $this->load->vars( $data );
    }else{
        $data['profileDivInfoFirstName'] = "Anonymous User";
        $data['profileDivInfoPicture'] = "/assets/css/img/ico-unknown-user.gif";
        $this->load->vars( $data );
    }
4

2 に答える 2

2

$dataどちらがオブジェクトであるかは既にインスタンス化されています。あなたは MY_Controller にいるので、作成した可能性があります。あなたが投稿したコードはあまり示していませんが、これは次のとおりです。

$data['name']  = $name;

$dataオブジェクトは次の形式を使用することを期待しているため、 がオブジェクトの場合は機能しません。

$data->name  = $name;

それは機能します (または、いずれにしても機能するはずです) が、コードを調べて、それを他の何かでも使用していないことを確認する必要があります。

于 2013-01-29T14:48:58.543 に答える
1

エラーは、オブジェクト(クラス)を配列として使用しようとしていることを示しています。これはできません。

于 2013-01-29T14:08:04.830 に答える