• User Newbie

    Form che salvi testo html nel database

    Salve a tutti! Ho un piccolo problema: volevo creare uno script che mediante un form nel pannello utente, permettesse di scrivere un testo in html (quindi tutte le varie formattazioni di testo, le immagini, etc.) e lo riproducesse su una pagina.

    Bene, a fare il form e a riprodurre tutto sulla pagina ci sono riuscito, ma non legge l'html! Vi incollo i codici.

    Questo è il form che è nel pannello utente

    [HTML]<label>{$lng->g_spaziotesto}<br /> <textarea cols="40" rows="5" name="spaziotesto">{$spaziotesto}</textarea><br /><br /> </label>[/HTML]

    Questa è la query

    [HTML] spaziotesto varchar(255) NOT NULL,[/HTML]

    Ovviamente, se modifico il testo dal dabatase e inserisco dei tag html, me li legge, quindi credo che il problema sia nel form html. Come faccio?


  • User Attivo

    La "query" che hai scritto è un pezzo della query per inserire un campo in una tabella e non quello per modificare il valore.
    La query per modificare sarà:

    UPDATE nome_tabella SET spaziotesto='valore inserito nel form' WHERE {VARIE CONDIZIONI PER STABILIRE QUALE RIGA MODIFICARE}
    

  • User Attivo

    @matmattia said:

    La "query" che hai scritto è un pezzo della query per inserire un campo in una tabella e non quello per modificare il valore.
    La query per modificare sarà:

    >UPDATE nome_tabella SET spaziotesto='valore inserito nel form' WHERE {VARIE CONDIZIONI PER STABILIRE QUALE RIGA MODIFICARE}
    >```
    
    Avrei bisogno del tuo aiuto matmattia.
    Vado a spiegarti.
    Ho la necessità di offrire all'utente la possibilità di aggiornare il testo del suo annuncio.
    Premetto che per connettermi al db uso una classe a qui mi collego nella pagina con  un include() la query è identica alla UPDATE da te specificata ma il testo non viene modificato se proviene da una textarea:
    

    <?php
    // inizializzazione della sessione
    session_start();

    Global $id, $vt, $testo;

    // valorizzazione delle variabili con i parametri dal form
    if(isset($_POST['submit'])){

    // inclusione del file della classe
    include("classemysql.php");
    // istanza della classe
    $data = new classemysql();
    // chiamata alla funzione di connessione
    $data->connetti();
    // query per la modifca del testo
    $data->query("UPDATE nome_tabella SET campo='$testo' WHERE id='$id'");
    // disconnessione
    $data->disconnetti();

    echo "<br /><a href="login.php">Torna all'Area riservata</a>";
    }
    else
    {
    // form per l'inserimento
    ?>
    <h1>Modifica testo annuncio</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    ID annuncio: <input name="id" type="text" value="<?php echo $_GET['id']; ?>" readonly="readonly" size="5" class="irosso" /><br />
    Testo attuale: <?php echo $_GET['vt']; ?><br />
    Testo modificato: <textarea name="testo" cols="98" rows="5" class="irosso"></textarea><br />
    <input name="submit" type="submit" value="Modifica Testo" />
    </form>
    <?php
    }
    ?>

    
    In cosa sto sbagliando?

  • User Attivo

    Ho risolto.
    Avevo referenziato in modo errato l'ID.