Ho questo script, che recupera il dato nome dal database e lo inserisce in un campo di testo per permettere all'utente di modificarlo.
$nome = mysql_result($result_34,0,"nome");
// OGGETTO NOME
// // // // //
if (isset($_POST['nome'])){
$nome = stripslashes($_POST["nome"]);
if (trim($nome)==""){
$errore[]="Nome mancante.";
echo "
<td><label>Nome</label></td>
<td><input type=\"text\" name=\"nome\" size=\"30\" maxlength=\"80\" class=\"error_field\" /></td>
<td class=\"error_description\">Inserisci il nome.</td>";
}else{
echo "
<td><label>Nome</label></td>
<td><input type=\"text\" name=\"nome\" size=\"30\" maxlength=\"80\" value=\"$nome\" /></td>
<td></td>";
}
}else{
echo "
<td><label>Nome</label></td>
<td><input type=\"text\" name=\"nome\" size=\"30\" maxlength=\"80\" value=\"$nome\" /></td>
<td></td>";
}
Quando viene inviato il modulo, e il nome viene recuperato con POST per essere rimesso nel campo di testo, se in esso è contenuto il carattere doppie virgolette ("), tutta la stringa dalle doppie virgolette in poi viene omessa.
Il sito è in hosting su altervista.org e qui mi da problemi. In locale, invece, funzionava tutto perfettamente.
Le ho provate tutte, ma non capisco quale sia il problema.