Visualizzazione dei risultati da 1 a 10 su 25

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306

    Memorizzare in db testo di textarea

    Ciao a tutti ragazzi
    vorrei sapere il da farsi in ambito memorizzazione in db di testo immesso in una textarea, e la sua successiva lettura dal db.

    Poichè il tema è simile per tutti le tipologie di campi form (textarea,checkbox, radio, select) ho voluto creare nel mio database di prova (chiamato "db_prova") una tabella dal nome "campi".

    Questa tabella "campi" ha questi campi colonna : "id" (INT), "textarea", "checkbox", "radio", "select" (tutti e quattro VARCHAR).

    Non so se è la tabella piu' adatta per capire questo argomento, ma mi è sembrata quella piu' semplice per il momento.


    Ho creato una pagina html , dove c'è appunto la textarea ed un tasto che richiama l'applicazione "memorizzo-textarea.php".

    codice:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>vediamo come memorizzare textarea</title>
    </head>
    <body>
    <h3>voglio memorizzare textarea</h3>
    <form method="post" action ="memorizzo-textarea.php">
    
    
    Messaggio : <br> <textarea cols="50" rows="5" name = "messaggio"></textarea>
    <input type="submit" value ="invia dati">
    </form>
    </body>
    </html>



    "memorizzo-textarea.php", in questa applicazione viene utilizzata l'istruzione php htmlentities(stringa), per convertire i possibili caratteri > o < ( o altri) che possono essere immessi nella textarea, e che possono memorizzare cose strane nel db, che poi quando lo si va a leggere vengono male interpretati.
    codice:
    <?php
    
    
    require_once('configurazione_credenziali_esterno.php');
    $link = mysqli_connect(DB_HOST, DB_USERN, DB_PSW) or die("Errore connessione: ". mysqli_connect_error());
    
    $dbw = mysqli_select_db($link, DB_PROVA) or die("Errore apertura database: " . mysqli_error($link));
    
    $mess=htmlentities($_POST['messaggio']);
    
    
    $strsql = "INSERT INTO campi(textarea,checkbox,radio,select) VALUES ('$mess','-','-','-')";
    $rs = mysqli_query($link, $strsql) or die("Errore query database: " . mysqli_error($link));
    if($rs){
        echo"Inserimento avvenuto con successo";
        echo"$mess";
    }
    
    
    ?>

    Poich� mi compariva questo errore " Errore query database: Field 'select' doesn't have a default value" ho dovuto immettere i trattini nella query anche per tutti gli altri campi della tabella, ma cmq non risolvo perch� mi compare un problema del genere

    Errore query database: Errore di sintassi nella query SQL vicino a 'select) VALUES ('scrivo questa cosa nella textarea','-','-','-')' linea 1



    Poi il programma "leggere-textarea.php"
    codice:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>vediamo come leggere textarea</title>
    </head>
    <body>
    <h3>voglio leggere textarea</h3>
    
    
    <?php
    
    
    require_once('configurazione_credenziali_esterno.php');
    $link = mysqli_connect(DB_HOST, DB_USERN, DB_PSW) or die("Errore connessione: ". mysqli_connect_error());
    $dbw = mysqli_select_db($link, DB_PROVA) or die("Errore apertura database: " . mysqli_error($link));
    
    
    $strsql = "SELECT textarea FROM campi";
    
    
    $rs = mysqli_query($link, $strsql) or die("Errore query database: " . mysqli_error($link));
    
    
    
    
    ?>
    
    
    <p><?php echo htmlentities(textarea)?></p>
    
    
    </body>
    </html>

    Cosa posso fare? sembrava che andasse tutto bene logicamente...
    Ultima modifica di Alfoxx; 17-09-2016 a 17:08

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 © 2026 vBulletin Solutions, Inc. All rights reserved.