salvare codice html in mysql

luigithen

Utente Attivo
31 Mar 2020
80
3
8
non saprei come spiegare al meglio per farmi capire , quello che vorrei ottenere è che se copio ed incollo un testo dal web mi salva tutto compreso la formattazione h4 strong p ecc ecc nel database

utilizzo tinymce che funziona correttamente ma solo su alcuni casi esempio

se copio ed incollo questo testo nessun problema viene salvato

HTML:
<h4>Template Simple</h4>
<p>Un template pensato per mettere in <b>Mostra</b> al meglio la vendita del tuo <b>prodotto</b>, dar modo al cliente di
visualizzare al meglio i contenuti con <b>immagini grandi</b> al quale cliccando sopra queste si possono ingrandire.</p>
<p>Un corpo centrale pieno di informazioni dove inserire le caratteristiche del prodotto in vendita con una lettura rapida e
veloce del contenuto inserito.</p>
<h4>Cosa Include:</h4>
<ul>
<li>Editor di testo</li>
<li>File Html & Css</li>
<li>Galleria Immagini</li>
<li>File scaricabile *</li>
</ul>
<h4>Template Simple</h4>
<p>Il Template per eBay che abbiamo realizzato supporto tutti i dispositivi con il quale un potenziale cliente si collega al
vostro negozio o asta, infatti questo template è 100% responsive. Sicuro e privo di codici non autorizzati da eBay.</p>
<p>Le immagini ed i testi utilizzati sono a solo scopo illustrativo e pertanto non rappresentano la vendita di questo
prodotto.</p>
<p>* se non vuoi utilizzare il nostro editor di testo ma desideri ricevere il file, ti preghiamo di inviarci una mail.</p>

se invece copio ed incollo questo testo non viene salvato

HTML:
<H2>Idropulitrice Nilfisk E 145.4-9 X-TRA</H2><P><STRONG><I>Art. 128471185</I></STRONG></P><P>&nbsp;</P><P>L'<STRONG>Idropulitrice Nilfisk E 145.4-9 X-TRA</STRONG> è un'idropulitrice <STRONG>monofase</STRONG>, facile da usare, adatta per la pulizia frequente di grandi aree. Inoltre può essere utilizzata per il lavaggio di auto, biciclette, e mobili da giardino, pulizia di terrazze, muretti o altre superfici di medie e grandi dimensioni.</P><P>Idropulitrice dotata di <STRONG>pompa in alluminio</STRONG> per un'elevata durata e <STRONG>motore a induzione da 2100 W</STRONG> per raggiungere una <STRONG>portata</STRONG> massima di <STRONG>500 l/h</STRONG> e una pressione di <STRONG>155 bar</STRONG>. Viene fornita con un avvolgitubo per riporre in ordine il tubo quando non in uso. Un'altra caratteristica pratica è la possibilità di utilizzare gli appositi vani per riporre ugelli, lancia e impugnatura direttamente sull'idropulitrice.</P><P>La connessione degli accessori è del tipo <STRONG>Clic &amp; Clean</STRONG>, facile da utilizzare e compatibile con tanti altri accessori opzionali. Gli ugelli in dotazione sono di due tipi: l'ugello <STRONG>Tornado PR</STRONG> (con regolazione della pressione) e l'ugello <STRONG>Powerspeed</STRONG> (ad alto impatto).</P><P>&nbsp;</P><H3><P>CARATTERISTICHE</P></H3><UL><LI>Avvolgitubo <LI><STRONG>Pompa in alluminio </STRONG><LI>Start/stop automatico <LI>Sistema aggancio accessori Click&amp;Clean <LI>Motore a induzione <LI><STRONG>Carrello integrato </STRONG><LI>Avvolgicavo alimentazione <LI>Monofase</LI></UL><P>&nbsp;</P><H3>IN DOTAZIONE</H3><UL><LI>Tubo ad alta pressione 9 m (art. 128500654) <LI>Pistola G4&nbsp;(art. 128500071) <LI>Lancia G2 C&amp;C (art. 128500073) <LI>Ugello Powerspeed (art. 128501153) <LI>Ugello Tornado PR (art. 128500854) <LI>Ugello Tubo (art. 128500676) <LI>Testina schiuma con barattolo (art. 128500077) <LI>Manuale di istruzioni</LI></UL><P>&nbsp;</P>

ho provato anche senza tinymce ed il risultato è sempre lo stesso il 1 lo salva ed il 2 no

script tinymce
JavaScript:
<script>
tinymce.init({
  selector: '#editor1',
  height: 400,
  menubar: false
});
</script>

php
PHP:
<?php
                                    require_once("include/database.php");
                                    $db_handle = new DBController();
                                    if(!empty($_POST["submitdesc"])) {
                                            $query = "UPDATE descrizione set descrizione = '".$_POST["descrizione"]."'";
                                            $result = $db_handle->executeQuery($query);
                                        if(!$result){
                                            $message = "Problem in Editing! Please Retry!";
                                        } else {
                                            header("Location:escrizione.php");
                                        }
                                    }
                                    $result = $db_handle->runQuery("SELECT * FROM descrizione");
                                    ?>

database
PHP:
<?php
class DBController {
    private $host = "localhost";
    private $user = "zzzzz";
    private $password = "zzzzzz";
    private $database = "zzzzz";
    private $conn;

    function __construct() {
        $this->conn = $this->connectDB();
    }

    function connectDB() {
        $conn = mysqli_connect($this->host,$this->user,$this->password,$this->database);
        $conn -> set_charset("utf8");
        return $conn;
    }

    function runQuery($query) {
        $result = mysqli_query($this->conn,$query);
        while($row=mysqli_fetch_assoc($result)) {
            $resultset[] = $row;
        }
        if(!empty($resultset))
            return $resultset;
    }

    function numRows($query) {
        $result  = mysqli_query($this->conn, $query);
        $rowcount = mysqli_num_rows($result);
        return $rowcount;
    }

    function executeQuery($query) {
        $result  = mysqli_query($this->conn, $query);
        return $result;
    }
}
?>

form con tinymce
PHP:
                                <form method="post" action="">
                    <div class="col-sm-12">
                      <br>
                                        <textarea class='tiny-mce' id='editor1' name="descrizione"><?php echo $result[0]["descrizione"]; ?></textarea>
                  </div>

                <div class="col-sm-12">
                <br>
              <input type="submit" name="submitdesc" id="submitdesc" class="btn btn-primary" value="Modifica / Aggiorna" />
                  </div>
                                </form>

form senza tinymce
PHP:
<form class="form-label-left input_mask" method="post" action="">
                  <div class="col-sm-12">
                    <br>
                  <label for="descrizione">da usare solo se non riesci ad incollare il testo sopra</label>
                  <input type="text" id="descrizione" class="form-control" name="descrizione" />
                </div>

              <div class="col-sm-12">
              <br>
            <input type="submit" name="submitenotiny" id="submitenotiny" class="btn btn-outline-dark" value="Salva / Aggiorna" />
                </div>
              </form>

grazie
 

marino51

Utente Attivo
28 Feb 2013
3.001
173
63
Lombardia
il testo non viene salvato, quando al suo interno sono presenti dei caratteri che contrastano con la sintassi sql, ad esempio gli apici

a riprova, inserisci un apice all'interno del testo che viene salvato e vedrai che anch'esso verrà rifiutato

questo significa dover gestire i caratteri che possono provocare errori nella gestione sql
di seguito un esempio per gestire l'apice in mysql
PHP:
$set['slash']      = "\\";

function aggiornaDB($azione = "")
{
    global $conn, $set, $row, $message;

    $save = $row;
    $row  = FixSQL($row);

    switch ($azione)
    {
        case "conferma ins":
            $sql = "INSERT INTO film(movie_title) VALUES ("
                 . "  '" . $row['movie_title']  . "'"
                 . "  )";
            break;

        case "conferma mod":
            $sql = "UPDATE film SET"
                 . "  movie_title='"   . $row['movie_title']  . "'"
                 . "  WHERE film_id='" . $row['film_id']      . "'";
            break;
    }
    $row = $save;

function FixSQL( $params=array() )
{
    global $set;

    foreach ($params as $key => $value)
    {
        if ( strpos($value, "'") !== false )
        {
            $params[$key] = str_replace("'", $set['slash']."'", $value);
        }
    }
    return $params;
}
 
  • Like
Reactions: luigithen

luigithen

Utente Attivo
31 Mar 2020
80
3
8
il testo non viene salvato, quando al suo interno sono presenti dei caratteri che contrastano con la sintassi sql, ad esempio gli apici

a riprova, inserisci un apice all'interno del testo che viene salvato e vedrai che anch'esso verrà rifiutato

questo significa dover gestire i caratteri che possono provocare errori nella gestione sql
di seguito un esempio per gestire l'apice in mysql
PHP:
$set['slash']      = "\\";

function aggiornaDB($azione = "")
{
    global $conn, $set, $row, $message;

    $save = $row;
    $row  = FixSQL($row);

    switch ($azione)
    {
        case "conferma ins":
            $sql = "INSERT INTO film(movie_title) VALUES ("
                 . "  '" . $row['movie_title']  . "'"
                 . "  )";
            break;

        case "conferma mod":
            $sql = "UPDATE film SET"
                 . "  movie_title='"   . $row['movie_title']  . "'"
                 . "  WHERE film_id='" . $row['film_id']      . "'";
            break;
    }
    $row = $save;

function FixSQL( $params=array() )
{
    global $set;

    foreach ($params as $key => $value)
    {
        if ( strpos($value, "'") !== false )
        {
            $params[$key] = str_replace("'", $set['slash']."'", $value);
        }
    }
    return $params;
}

ti ringrazio molto
 
Discussioni simili
Autore Titolo Forum Risposte Data
Z salvare codice html di pagina esterna Javascript 0
I Salvare simbolo da disegno creato da codice Flash 7
V Salvare codice SQL DB su server esterno. PHP 11
L salvare codice pagine web PHP 5
R Come salvare codice in una tabella? PHP 1
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
E Salvare immagini PHP 0
L salvare somma con sottrazione PHP 1
M Salvare coordinate Maps nel DB PHP 2
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A Twitter aggiungere tweet a campagna esistente o salvare pubblico Social Media Marketing 0
D Salvare in diversi campi mysql con diversi ID PHP 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
M Salvare JSONObject in Shared Preference Sviluppo app per Android 0
M [PHP] Salvare campo di una tabella in una variabile PHP 14
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Salvare csv da form dati PHP 5
A Salvare immagine ridimensionata in MySql con GD PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
M Salvare pagine web come segnalibro con istruzioni javascript Javascript 0
L Salvare posizione maps Sviluppo app per Android 0
G [PHP] SALVARE RECORD ESTRATTI DA DATABASE PHP 6
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
P [SOLVED] salvare il TCPDF output in mysql e rivisualizzarlo PHP 3
M Salvare i dati nel db e aprire altra pagina php PHP 7
M Form ASP su MsSQL salvare 2 campi in 1 Classic ASP 4
V [PHP] Salvare campo radio in db e leggerlo PHP 15
S [PHP] Salvare dati tabella in formato exel PHP 0
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
P Come salvare il proprio diario di fb Discussioni Varie 0
P Salvare i dati restituiti dopo autenticazione OAuth2 Javascript 0
M Salvare in tabella link file importato PHP 1
F Cliccare e salvare src immagine HTML e CSS 2
M Cartella predefinita dove salvare i backup PHP 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 7
C Salvare il click su di un Button Sviluppo app per Android 9
Emix Salvare documenti in DB PHP 3
D salvare righe dinamicamente PHP 3
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
C Salvare dati form in un file di testo PHP 2
M Salvare select con cookie PHP 1
IImanuII Salvare/recuperare html da un db PHP 5
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
M salvare una activity e richiamarla Sviluppo app per Android 6
Shyson Salvare impostazioni del Database Database 0

Discussioni simili