2010-12-18 119 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();

}

?>