Salve, ho questo codice... vi posto la classe e la sua funzione che dove vorrei mettere l'if per far che non perde il valore scritto ad ogni invio form.

Codice PHP:
<?php

class Form
{
    
    
    public function 
form_open($method){
        return 
'<form  method="'.$method.'">';
    }

    public function 
form_label($name){
        return 
'<label for="'.$name.'">'.$name.'</label> : ';
    }

    public function 
form_input($type$name$placeholder){
        
        return 
'<input type="'.$type.'" name="'.$name.'" id="'.$name.'" placeholder="'.$placeholder.'"">';
    }

    public function 
form_textarea($name$placeholder){
            return 
'<textarea name="'.$name.'" placeholder="'.$placeholder.'"></textarea>';
    }

    public function 
form_button($type$text){
        
        return 
'<input type="'.$type.'" value="'.$text.'">';
    }

    public function 
form_close(){
        return 
'</form>';
    }

    

}
qui quello che vorrei fare tralasciando alcune parte del codice sopra:

Codice PHP:
$nome = (isset($_POST["nome"])) ? trim(($_POST["nome"])): '';
$cognome = (isset($_POST["cognome"])) ? trim(($_POST["cognome"])): '';
$oggetto = (isset($_POST["oggetto"])) ? trim(($_POST["oggetto"])): '';
$messaggio = (isset($_POST["messaggio"])) ? trim(($_POST["messaggio"])): '';
$email = (isset($_POST["email"])) ? trim(($_POST["email"])): '';

if(isset($error)){ echo '<p class="info_error">'.$error.'</p>';}
if(isset($msg)){ echo $msg;} else {
    
    $form = new Form();
    echo $form->form_open('POST');
    echo $form->form_label('Nome');
    echo $form->form_input('text', 'nome', if(isset($_POST['nome'])){echo htmlspecialchars($_POST['nome']);}else { echo htmlspecialchars($nome); });
    echo $form->form_label('Cognome');
    echo $form->form_input('text', 'cognome', if(isset($_POST['cognome'])){echo htmlspecialchars($_POST['cognome']);}else { echo htmlspecialchars($cognome); });
    echo '<br/>';
    echo '<br/>';
    echo $form->form_button('submit', 'Invia');
    echo $form->form_close();
?>   
<?php ?>
mi da l'errore qui:
Codice PHP:
    echo $form->form_input('text''nome', if(isset($_POST['nome'])){echo htmlspecialchars($_POST['nome']);}else { echo htmlspecialchars($nome); }); 
il suo era cosi:
Codice PHP:
 <p>Nome</p>
 <p><input type="text" name="nome"  value="<?php if(isset($_POST['nome'])){echo htmlspecialchars($_POST['nome']);}else { echo htmlspecialchars($nome); }?>" /></p>
l'ultimo codice con l'html normale .. funziona.. ma lo vorrei mettere nella mia classe che ho fatto io.

mi dite come fare?

grazie mille.