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.