Ciao, ricorro al vostro aiuto perché ho letto decine articoli e forum e non riesco a venirne a capo.
Ho un DB mysql nel quale tra gli altri, salvo un campo descrizione $_POST['dettaglio_progetto'] inserito dall'utente
Codice PHP:
$stmt=$conn->prepare("INSERT INTO progetti (dettaglio_progetto) VALUES (?)"); $stmt->execute(array($_POST['dettaglio_progetto']));
"prepare" dovrebbe richiamare in automatico la funzione mysql_real_escape_string.
In un'altra pagina, visualizzo il db in forma tabellare con i campi principali, non voglio che ci sia la colonna descrizione, ma se provo a inserirla va tutto bene:
Codice PHP:
echo "<td style='width:200px; padding:0; margin:0; text-align:left;'><div style='width:200px; height:40px; overflow-x:hidden; overflow-y:auto;'>" .nl2br($row['dettaglio_progetto']). "</div></td>";
Vedo correttamente il contenuto del campo descrizione come da me inserito :
"Prova Prova
Prova a capo"
Ora, ogni riga dell'ultima colonna della tabella contiene un link che apre una pagina di dettaglio che visualizza tutti i campi del DB, questa volta in forma di form con campi input eventualmente modificabili:
Codice PHP:
echo "<td style='width:35px; '><a class='a_link_table' style='height:25px; ' href='dettagli_progetto.php?codp=".$row['codice_progetto']."&annor=".$row['anno_rif']."&commit=".htmlspecialchars($row['committente'], ENT_QUOTES)."&dinc=".$row['data_incarico']."&dcons=".$row['data_consegna']."&dettp=".nl2br(htmlspecialchars($row['dettaglio_progetto'], ENT_QUOTES))."'>". "[...]" ."</td>";
La parte di stringa incriminata è questa:
Codice PHP:
"&dettp=".nl2br(htmlspecialchars($row['dettaglio_progetto'], ENT_QUOTES)).
Infatti nel campo textarea del form vedo:
"Prova Prova
Prova a capo"
Come sostitisco quel
con "a capo"?