2010-12-18 37 views
0

我正在與兩個類:usuarios,preguntas。PHP。從不同的類調用函數。

在preguntas中,我存儲了id_usuario,它對應於用戶的id,ok。但有時我需要顯示更多的id,所以我在usuarios中做了一個函數。 PHP打印此信息:

這是現在

usuarios.php(我只包括針對此問題相關的代碼)

CódigoPHP代碼MI:

function __construct($id){ 

    $consulta = mysql_query("SELECT * FROM usuarios WHERE id = '".$id."'"); 
     while($item = mysql_fetch_array($consulta)){        
      $this->id = $item['id']; 
      $this ->fid = $item['fid']; 
      $this ->usuario = $item['alias']; 
      $this ->password = $item['pass']; 
      $this ->email = $item['mail']; 
      $this ->fechar = $item['fechar']; 
      $this ->ultima = $item['ultima']; 
      $this ->img_src = $item['img_src']; 
      $this ->reputacion =  $this ->fechar = $item['reputacion']; 
     } 
} 




function miniatura(){ 
    $html_mini = "<div>$this->usuario</div>"; 
    return $html_mini; 

} 

pregunta .php(我只是包括這個問題的相關代碼)

CódigoPHP:

function get_autor(){ 


       $us = new usuario($item['id']); 

      return $us->miniatura(); 
} 



function imprimir_titular(){ 
    $html_t = '<h1 class="prg'.$this->id.'" >[ '.$this->id_eval_q.' ] '.$this->get_autor().' pregunta: '.$this->pregunta.' , '.$this->fecha.'</h1>'; 
    return $html_t; 
} 

這是錯誤:

引文:

Fatal error: Call to undefined method usuario::miniatura() in /home/piscolab/public_html/keepyourlinks.com/recetorium/clases/pregunta.php on line 35 No entiendo por qué no accede al método de la clase usuarios, aunque me deje crear el objeto usuario :S

詳情: - 保護atributes

任何幫助將是惠康

+1

哪裏'usuario'類的定義是什麼?它應該圍繞第一個代碼片段嗎? – 2010-12-18 15:49:36

+0

嘗試使方法「公開」。 - 公共功能縮略圖(){} – Andreas 2010-12-18 16:11:34

+0

我試圖使它公衆和它給了我一個錯誤「unexpedted T_STRING公衆:S – 2010-12-18 20:34:48

回答

1

我複製你的代碼,方法和一切改變內容的作品

class usuario { 
function __construct($id){ 

    echo 'ok'; 
} 




function miniatura(){ 
    echo 'ok'; 

} 

} 




function get_autor(){ 


       $us = new usuario($item['id']); 

      return $us->miniatura(); 
} 

顯示完整類,因爲有你在上什麼都沒有錯誤的代碼。

+0

做什麼就夠了? – 2010-12-18 19:52:47

0

沒關係,這是文件,其中我打給他們兩個:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

Recetorium> Preguntas - Preguntaörespondequé時ýCOMO cocinar ALGO

Cargando ..

和路由器。PHP

<?php require_once('funciones.php');   

如果(isset($ _ POST [ '開始'])){

// el usuario está iniciando sesion   

$iniciando = new sesion_usuarios(); 
if($iniciando->iniciar()){ 
    imprimir_sesion_iniciada(); 
}else{ 
    imprimir_formulario_sesion(); 
} 

}否則如果(isset($ _ POST [ '登錄'])){ $註冊=新user_log(); 如果($通過註冊>寄存器()){ imprimir_usuario_registrado(); }否則{ imprimir_formulario_registro(); }

}否則,如果(isset($ _ GET [ '那個'])或Isset($)比){

if(isset($que)) 
     $tarea = $que; 
    else 
     $tarea = $_GET['que']; 

    if($tarea == 'registro'){ 
     imprimir_formulario_registro(); 
    }else if($tarea == 'login'){ 
     imprimir_formulario_sesion(); 
    }else if($tarea == 'salir'){ 
     cerrar_sesion(); 
    }else if($tarea == 'ultimas_preguntas'){ 
     listar_preguntas(); 
    }else if($tarea == 'nueva_pregunta'){ 
     $tem = new pregunta(); 
     $tem->imprimir_formulario; 
    }else if($tarea == 'ultimas_recetas'){ 
     $tem = new pregunta(); 
     $tem->imprimir_formulario; 
    } 

}否則,如果(使sesion()){ 回聲「準備prodrás:問問題,回答問題並評估兩者。發佈你的食譜,發現其他人,評估他們並進行評估。 }其他{$檔案= 'bienvenida.php';
包括($檔案館); imprimir_formulario_sesion();

}

?>