2017-05-24 3 views
-2

나는 PHP에서 내가 가진 가장 혼란스러운 문제를 가지고있다. 이 중 $this->$profile이 있지만 마지막 인 경우에만, 기록됩니다 또는 $this->$account이 기록 될 것으로 보인다, 어떤 이유쓰여지고있는 순서의 마지막 변수 만

public $profile; 

public $account; 

    function __construct(){ 
    if(isset($_SESSION['uid'])){ 
     $this->$profile = $_SESSION['user_profile']; 
     $this->$account = $_SESSION['user_account']; 
     echo "<script> alert('".$this->$profile->forename."'); </script>"; //Shows nothing 
    }else{ 
     unset($_SESSION['user_profile']); 
     unset($_SESSION['user_account']); 
    } 
    } 

: 다음 코드를 참조하십시오. 위의 상황에서 프로파일 행을 계정 행 다음으로 이동하면 작성됩니다. 그러나이 경우에는 그렇지 않습니다.

변수는 모두 SQL 문에서 검색된 객체이며 변수 중 하나에 직접 액세스 할 때 유효합니다 (예 : $_SESSION['user_profile']->forename).

아이디어가 있으십니까? 고맙습니다.

+6

$this->$profile $this->$account 

는'$ this-> profile'과'$ this-> account' 대신 사용해보십시오'$이 -> $ profile', '$ this-> $ account' –

+1

잘 찾았습니다 @RyanHipkiss – Dale

+0

@RyanHipkiss 그렇게 생각됩니다. 왜 그런지 알아? 나는 전에 그 곤경을 겪어 본 적이 없다고 생각한다. 댓글 주셔서 감사합니다. – user3642576

답변

2

variable variables을 사용하고 있지만 멤버 변수에 액세스하려는 것처럼 보이는 코드가 있습니다.

이 교체 :이

$this->profile 
$this->account