2016-12-24 90 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 –