Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Eliminare <br /> da textarea passato tramite GET

    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"?

  2. #2
    Avevo dimenticato di postare la parte di codice relativo al form che mostra la textarea

    codice:
     <div><label>Dettaglio Progetto</label><textarea name="dettaglio_progetto" rows="5" cols="60"><?php echo $_GET['dettp']; ?></textarea></div>

  3. #3
    Ciao,
    la funzione nl2br() trasforma il carattere new line (\n) in
    HTML, non il contrario, quindi dovresti effettuare un cerca e sostituisci:

    Codice PHP:
    str_replace("
    "
    ,"\r\n",$stringa
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  4. #4
    Avevo già provato con str_replace ma non con la sintassi giusta, stavo mettendo tra virgolette anche la stringa di input!
    Ho risolto il problema sostituendo al form che contiene la textarea:
    Codice PHP:
    <div><label>Dettaglio Progetto</label><textarea name="dettaglio_progetto" rows="5" cols="60"><?php echo str_replace("
    "
    ,"\r\n",$_GET['dettp']); ?></textarea></div>
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.