• User Attivo

    Problema Virgolette

    Ciao a tutti. Ho un problema con un form.
    Per esempio è un form per la modifica di una news.
    Il titolo della news è il seguente:

    Luca dice "ok"
    Quando estraggo dal database questo titolo per metterlo nella textbox per un eventuale modifica, sulla text trovo semplicemente:
    Luca dice
    Come faccio a risolvere il problema? Questa la parte di codice della query:
    [PHP]$query='SELECT * FROM news WHERE idNews='.$_GET['id'];
    $ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/PHP]


  • User Attivo

    @talkoman said:

    Ciao a tutti. Ho un problema con un form.
    Per esempio è un form per la modifica di una news.
    Il titolo della news è il seguente:

    Quando estraggo dal database questo titolo per metterlo nella textbox per un eventuale modifica, sulla text trovo semplicemente:

    Come faccio a risolvere il problema? Questa la parte di codice della query:
    [php]$query='SELECT * FROM news WHERE idNews='.$_GET['id'];
    $ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/php]
    Prova cosi'

    [php]$query="SELECT * FROM news WHERE idNews='".$_GET['id']."'";
    $ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/php][/quote]


  • User Attivo

    Ciao,
    quando inserisci il dato nel value dell'input devi usare htmlentities():
    [php]
    <input type="text" name="titolo" value="<?php echo htmlentities($titolo_news,ENT_QUOTES); ?>" />
    [/php]

    Alessandro


  • User

    ´Questo é molto pericoloso da fare in un database, corri il rischio di esporti ad attacchi di tipo sql injection (cerca su google una spiegazione).
    Tutti i parametri che vanno passati ad una query sql vanno ripuliti da caratteri non idonei:

    se sai che il parametri id deve essere obbligatoriamente un intero puoi effettuare un cast esplicito sulla variabile:

    idNews='.(int)$_GET['id'];

    se invece puó essere una stringa e come db usi mysql puoi usare questa funzione:

    ".... idNews='" .mysql_real_escape_string($_GET['id'])."';";

    Spero di essere stato chiaro.
    Ciao
    Giuseppe