Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    mostrare in html i dati da db mysql

    ciao, ho un problema che probabilmente per molti di voi risulterà banale..

    ho salvato in un db mysql una notizia tramite un form con un editor javascript (fckeditor).. i dati vengono salvati in html, quindi una frase può risultare così:



    Questa è una frase salvata</p>

    nel momento in cui eseguo la query per mostrare la notizia viene però mostrata con tutti i tag mentre io vorrei che l'html fosse "interpretato".. e in questo caso la parola "frase" dovrebbe apparire in grassetto.. come fare?!

  2. #2
    Posta il codice che utilizzi per estrarre i valori dal DB e visualizzarli.

  3. #3
    è una semplicissima query:

    $query="SELECT * FROM news WHERE id = $id";
    $result = mysql_query( $query , $db ) or die ( "errore: $query: " . mysql_error() ) ;
    while ( $row = mysql_fetch_array($result) ) {

    echo "<span class=\"data\">$row[data]</span>
    <span class=\"titolo\">$row[titolo]</span>$row[notizia]</div>";

    }
    mysql_close( $db );


    la variabile $row[notizia] contiene l'html..

  4. #4
    Sei sicuro di aver inserito nel database il codice HTML originale e non una versione a cui è stata applicata htmlentities() o htmlspecialchars()?

  5. #5
    eh si.. :master:
    la notizia la salvo in questo modo:

    $notizia = $_POST[notizia];
    if ( get_magic_quotes_gpc() )
    $notizia = htmlspecialchars( stripslashes( $notizia ) ) ;
    else
    $notizia = htmlspecialchars( $notizia ) ;

    cambia qualcosa?
    come dovrei salvarla?

  6. #6
    Rimuovi htmlspecialchars() dal codice di salvataggio e vedrai che funziona.

  7. #7
    non è pericoloso salvare input in questo modo senza il controllo?

  8. #8
    Di quale controllo parli?

    Stai application mysql_escape_string() o mysql_real_escape_string() alla string aprima di utilizzarla nella query?

    Se vuoi visualizzare l'immagine come HTML, i rischi ci sono per il client (es. XSS), ma comunque che tu applichi htmlspecialchars() prima e html_entity_decode() dopo, il risultato non cambia, per cui tanto vale non applicare htmlspecialchars().

  9. #9
    Io non utilizzo editor, passo a mano il codice html nel db dato che il web master del sito che gestisco sono solo io. Al momento di stampare il contenuto del db utilizzo il seguente il metodo eval()

    posto un esempio:
    Codice PHP:
    $str addslashes($record['testo']);
    eval(
    "\$str = \"$str\";");
    echo 
    str_replace("\\"""$str); 
    non so se nel tuo caso può andare visto che utilizzi un editor, prova.

    Ciao.

  10. #10
    quindi potrei salvare in questo modo?

    $notizia = mysql_real_escape_string($_POST[notizia]);

    così eviterei le injections?
    ho ancora un pò di confusione a riguardo..

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.