簡體   English   中英

PHP。 從其他類調用函數。

[英]PHP. Calling function from a different class.

我正在上兩堂課:usuarios,preguntas。

在preguntas中,我存儲id_usuario,它對應於來自用戶的ID,確定。 但是有時候我需要顯示的不僅僅是id,所以我在usuarios中做了一個函數。 php打印此信息:

這是暫時的mi代碼

usuarios.php(我僅包含有關此問題的相關代碼)

CódigoPHP:

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;
} 

這是錯誤:

Cita:

致命錯誤:在第35行上的/home/piscolab/public_html/keepyourlinks.com/recetorium/clases/pregunta.php中調用未定義的方法usuario :: miniatura(),沒有提示性的用法,無法使用deje crear el objeto usuario:S

詳細信息:-受保護的屬性

任何幫助都會很好

我復制了您的代碼,更改了方法的內容,一切正常

    class usuario {
function __construct($id){

    echo 'ok';
}




function miniatura(){
    echo 'ok';

}   

}




function get_autor(){


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

            return $us->miniatura();
}

顯示完整的類,因為使用您的代碼不會出現任何錯誤。

好的,這是我同時調用的文件:

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

Recetorium> Preguntas-Pregunta o responseequéycómococinar算法

卡甘多..

並在router.php中

// el usuario está iniciando sesion         

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

if(isset($ _ POST ['inicio'])){

 // el usuario está iniciando sesion $iniciando = new sesion_usuarios(); if($iniciando->iniciar()){ imprimir_sesion_iniciada(); }else{ imprimir_formulario_sesion(); } 

} elif if(isset($ _ POST ['registro'])){$ registrando = new registro_usuarios(); if($ registrando-> register()){imprimir_usuario_registrado(); } else {imprimir_formulario_registro(); }

}其他if(isset($ _ GET ['que'])或isset($ que)){

  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; } 

}否則if(sesion()){echo'Prontoprodrás:Preguntar cosas,響應者cosas和evaluar ambos。 陽rec,耳垢,評價。 } else {$ archivo ='bienvenida.php';
include($ archivo); imprimir_formulario_sesion();

}

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM