2016-03-29 1 views
0

Je sais que cette question a déjà des réponses mais je n'ai pas compris donc à nouveau demandé Alors, s'il vous plaît, aidez.

Que signifie réellement cette erreur?

Fatal error: Using $this when not in object context in C:\wamp\www\provisioning\application\controllers\customer\provisioning.php on line 27

public function index(){ 
    $users = $this->data['tenant_users'] = $this->customer_user_m->tenant_users(); 
    $domain = $users[0]['domain']; 
    $site = $users[0]['site_key']; 
    $tenant_id = $users[0]['tenant_id']; 
    $site = $this->session->userdata('site'); 
    $user_table = $this->session->userdata('user_table'); 

    function getOTAURLExt($ext){ 
    var_dump($this); 
    } 

    function getOTAURLSite(){ 
    echo "Site executed"; 
    } 

    $this->db->select('*'); 
    $this->db->where('id', $tenant_id); 
    $this->db->from('tenant'); 
    $query = $this->db->get(); 
    $result = $query->result_array(); 

    if(empty($this->input->post('md'))){ 
    $URL = getOTAURLSite($site); 
    }else{ 

    $username = $result[0]['username']; 

    $table_user = $username . "_users"; 


    $this->db->select('*'); 
    $this->db->where($table_user . '.site_key', $site); 
    $this->db->join('mlcsites', 'mlcsites.site_key =' . $table_user . '.site_key'); 
    $this->db->from($table_user); 
    $query_table = $this->db->get(); 
    $information = $query_table->result_array(); 


    $ext = $information[0]['ext']; 


    $count = count($information); 
    $found = false; 
    for($i = 0; $i < $count; $i++){ 
     $domain = $information[$i]['domain']; 
     $ext = $information[$i]['ext']; 

     $hash = do_hash($ext . "@" . $domain, 'md5'); 

     if($hash == $this->input->post('md')){ 

     $found = true; 
     break; 
     } 
    } 

    if($found == true){ 
     $URL = getOTAURLExt($ext); 
    } 
    } 
    if(empty($URL)){ 

    } 

    $this->data['subview'] = 'provisioning/index'; 
    $this->load->view('_layout_main', $this->data); 
} 

Quelle pourrait être la solution à cela?

+0

quelle est cette ligne pour '$ users = $ this-> data ['locataire_utilisateurs'] = $ this-> customer_user_m-> locataire_users();' multi assign !! –

+0

code pour la ligne 27 dans provisioning.php? – itzmukeshy7

+0

@DavidJawphan ignorez-le, il devrait être comme ceci $ this-> données ['tenant_users'] = $ this-> customer_user_m-> client_userers(); 'donc je passerai client_users array pour voir – Rajan

Répondre

0

Comme par le code que vous avez fourni, il semble y avoir rien « ligne 27 » donc à mon humble avis, il semble être causé sur « la ligne 10 »

function getOTAURLExt($ext){ 
    var_dump($this); // <<< This seems to be causing error. 
} 

Maintenant, si vous avez besoin $this variable à l'intérieur du la fonction que vous pourriez soit

  1. le passer comme un argument (si vous avez seulement besoin de lire les valeurs de l'objet).
  2. Passez-le par référence (Si vous devez mettre à jour l'objet.).
  3. Déclarez Global.

... utilisez-le dans la fonction.

+0

vous avez raison dans cette fonction j'essaie d'echo $ this-> session-> userdata ('site'); donc je reçois cette erreur – Rajan