CIao a tutti!!
Sto sviluppando un sito in cui gli utenti inseriscono dei dati tramite form. La pagine di inserimento del form porta, al click del pulsante submit, ad una pagina di visualizzazione di conferma dei dati inseriti. E da questa pagina si puo decidere di inserirli nel database.
Ora, ho fatto delle prove di inserimento di caratteri speciali ( come < > " ) .
Dalla pagina 1 l'utente inserisce il testo (variabile "testo" ) che viene trasmesso tramite POST alla pagina di conferma. Su questa pagina faccio naturalmente: $testo=thmlspecialchars(trim($_POST['testo'])) ;
E se faccio un echo $testo; vedo i caratteri corretti (e se visualizzo la sorgente pagina vedo i caratteri html cambiati, tipo < al posto di < , > al psoto di >.
Per trasmettere i dati da questa pagina di conferma alla pagina di salvataggio nel database, creo un altro form con metodo POST, e inserisco quindi un campo hidden di nome "testo" contenente la variabile $testo (che appare, sempre nel codice sorgente, con i tag cambiati dalla funzione htmlspecialchars).
MA nella pagina di inserimento nel database, se faccio un echo $_POST['testo'] vedo invece i valori > e < e non quelli modificati!! come mai??
mi viene da pensare .. ma vorrei essere sicuro .. il comando POST cambia automaticamente i > e < e via dicendo, nei rispettivi simboli html?????
grazie!!![]()