2016-12-24 55 views
0

我沒有看到任何這樣的話題,因此我發佈了一個新話題。
首先,我很抱歉我的英語不好。使用函數加載數據庫值

我想要一個公共職能人員,他可以在數據庫中存儲一個全局變量的值,並使用該值來選擇網站模板。你可以幫我嗎?

private $page_title = null; 
private $body_title = null; 
private $body_content = null; 
private $template = null; 
private $settings = array(); 
private $file_template = 'content'; 
private $path = 'templates/'; 
private $parse_page = false; 
global $template2; 

public function GetHASH() 
{ 
    return $this->hash; 
} 

function Tema() 
{ 
    global $db,$user_class; 
    if($user_class->authorized) 
    { 
     $row = $db->sql("SELECT * FROM `ucp_users` WHERE `user_hash` = '".$this->GetHASH()."'"); 
     $array = $db->get_array($row); 
     $template2 = $array['template']; 
    } 
    else 
    { 
     $template2 = '1'; 
    } 
    return $template2; 
} 
function __construct() { 
    switch($template2) { 
     default: 
     { 
      $template_name = 'dsa/'; 
      $template2 = 1; 
     } 
     break; 
     case 0: $template_name = 'lsrp/'; 
     break; 
     case 1: $template_name = 'dsa/'; 
     break; 
    } 
    $this->path = $this->path.''.$template_name; 
} 

謝謝。

+0

那麼究竟是怎麼了?跟你已經擁有? – Hicaro

+0

這是一個班級嗎? – Chris

+0

是在一個類中,功能「Tema」不從數據庫加載變量。 $ template2爲0,我可以做的所有 –

回答

0

當你實例化你的類時,構造函數被調用,此時你的tema方法還沒有被調用,因爲它不能在沒有實例的情況下被調用。一個解決辦法是打電話給你的TEMA方法在你的構造是這樣的:

function __construct() { 
    $template2 = this->tema(); 
    switch($template2) { 
    default: 
    { 
     $template_name = 'dsa/'; 
     $template2 = 1; 
    } 
    break; 
    case 0: $template_name = 'lsrp/'; 
    break; 
    case 1: $template_name = 'dsa/'; 
    break; 
    } 
    $this->path = $this->path.''.$template_name; 

}

+0

嘿,謝謝你的回答,但是不行。 –

+0

http://imgur.com/EKgPEIp –

相關問題